sequelize
Version:
Multi dialect ORM for Node.JS/io.js
1,599 lines (1,126 loc) • 271 kB
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<base data-ice="baseUrl" href="../../">
<title data-ice="title">Model | Sequelize | The node.js ORM for PostgreSQL, MySQL, SQLite and MSSQL API Document</title>
<link type="text/css" rel="stylesheet" href="css/style.css">
<link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css">
<script src="script/prettify/prettify.js"></script>
<script src="script/manual.js"></script>
<link data-ice="userStyle" rel="stylesheet" href="user/css/0-style.css">
</head>
<body class="layout-container" data-ice="rootContainer">
<header>
<a href="./">Home</a>
<a href="identifiers.html">Reference</a>
<a href="source.html">Source</a>
<a data-ice="repoURL" href="https://github.com/sequelize/sequelize.git" class="repo-url-github">Repository</a>
<div class="search-box">
<span>
<img src="./image/search.png">
<span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span>
</span>
<ul class="search-result"></ul>
</div>
</header>
<nav class="navigation" data-ice="nav"><div>
<ul>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/model.js~Model.html">Model</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/sequelize.js~Sequelize.html">Sequelize</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/transaction.js~Transaction.html">Transaction</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-DataTypes">DataTypes</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-Deferrable">Deferrable</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-QueryTypes">QueryTypes</a></span></span></li>
<li data-ice="doc"><div data-ice="dirPath" class="nav-dir-path">associations</div><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/associations/base.js~Association.html">Association</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/associations/belongs-to-many.js~BelongsToMany.html">BelongsToMany</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/associations/belongs-to.js~BelongsTo.html">BelongsTo</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/associations/has-many.js~HasMany.html">HasMany</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/associations/has-one.js~HasOne.html">HasOne</a></span></span></li>
<li data-ice="doc"><div data-ice="dirPath" class="nav-dir-path">errors</div><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~AccessDeniedError.html">AccessDeniedError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~AssociationError.html">AssociationError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~BaseError.html">BaseError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~ConnectionError.html">ConnectionError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~ConnectionRefusedError.html">ConnectionRefusedError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~ConnectionTimedOutError.html">ConnectionTimedOutError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~DatabaseError.html">DatabaseError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~EagerLoadingError.html">EagerLoadingError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~EmptyResultError.html">EmptyResultError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~ExclusionConstraintError.html">ExclusionConstraintError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~ForeignKeyConstraintError.html">ForeignKeyConstraintError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~HostNotFoundError.html">HostNotFoundError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~HostNotReachableError.html">HostNotReachableError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~InstanceError.html">InstanceError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~InvalidConnectionError.html">InvalidConnectionError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~OptimisticLockError.html">OptimisticLockError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~QueryError.html">QueryError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~SequelizeScopeError.html">SequelizeScopeError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~TimeoutError.html">TimeoutError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~UniqueConstraintError.html">UniqueConstraintError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~ValidationError.html">ValidationError</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/lib/errors/index.js~ValidationErrorItem.html">ValidationErrorItem</a></span></span></li>
</ul>
</div>
</nav>
<div class="content" data-ice="content"><div class="header-notice">
<div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode"></code></pre></div>
<span data-ice="access">public</span>
<span data-ice="kind">class</span>
<span data-ice="source">| <span><a href="file/lib/model.js.html#lineNumber39">source</a></span></span>
</div>
<div class="self-detail detail">
<h1 data-ice="name">Model</h1>
<div class="description" data-ice="description"><p>A Model represents a table in the database. Instances of this class represent a database row.</p>
<p>Model instances operate with the concept of a <code>dataValues</code> property, which stores the actual values represented by the instance.
By default, the values from dataValues can also be accessed directly from the Instance, that is:</p>
<pre><code class="lang-js"><code class="source-code prettyprint">instance.field
// is the same as
instance.get('field')
// is the same as
instance.getDataValue('field')</code>
</code></pre>
<p>However, if getters and/or setters are defined for <code>field</code> they will be invoked, instead of returning the value from <code>dataValues</code>.
Accessing properties directly or using <code>get</code> is preferred for regular use, <code>getDataValue</code> should only be used for custom getters.</p>
</div>
<div data-ice="see"><h4>See:</h4><ul><li><span><span><a href="class/lib/sequelize.js~Sequelize.html#instance-method-define">Sequelize#define</a></span> for more information about getters and setters</span></li></ul></div>
</div>
<div data-ice="staticMethodSummary"><h2>Static Method Summary</h2><table class="summary" data-ice="summary">
<thead><tr><td data-ice="title" colspan="3">Static Public Methods</td></tr></thead>
<tbody>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-addScope">addScope</a></span></span><span data-ice="signature">(name: <span>String</span>, scope: <span>Object</span> | <span>Function</span>, options: <span>Object</span>)</span>
</p>
</div>
<div>
<div data-ice="description"><p>Add a new scope to the model.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-aggregate">aggregate</a></span></span><span data-ice="signature">(field: <span>String</span>, aggregateFunction: <span>String</span>, options: <span>Object</span>): <span>Promise</span><<span><a href="variable/index.html#static-variable-DataTypes">DataTypes</a></span>|<span>object</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Run an aggregation method on the specified field</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-belongsTo">belongsTo</a></span></span><span data-ice="signature">(target: <span><a href="class/lib/model.js~Model.html">Model</a></span>, options: <span>object</span>): <span><a href="class/lib/associations/belongs-to.js~BelongsTo.html">BelongsTo</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Creates an association between this (the source) and the provided target.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-belongsToMany">belongsToMany</a></span></span><span data-ice="signature">(target: <span><a href="class/lib/model.js~Model.html">Model</a></span>, options: <span>object</span>): <span><a href="class/lib/associations/belongs-to-many.js~BelongsToMany.html">BelongsToMany</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Create an N:M association with a join table.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-build">build</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span><a href="class/lib/model.js~Model.html">Model</a></span> | <span><span><a href="class/lib/model.js~Model.html">Model</a></span><span>[]</span></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Builds a new model instance.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-bulkCreate">bulkCreate</a></span></span><span data-ice="signature">(records: <span>Array</span>, options: <span>Object</span>): <span>Promise</span><<span>Array</span><<span><a href="class/lib/model.js~Model.html">Model</a></span>>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Create and insert multiple instances in bulk.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-count">count</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span>Integer</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Count the number of records matching the provided where clause.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-create">create</a></span></span><span data-ice="signature">(values: <span>Object</span>, options: <span>Object</span>): <span>Promise</span><<span><a href="class/lib/model.js~Model.html">Model</a></span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Builds a new model instance and calls save on it.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-describe">describe</a></span></span><span data-ice="signature">(schema: <span>*</span>, options: <span>*</span>): <span>Promise</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Run a describe query on the table.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-destroy">destroy</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span>Integer</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Delete multiple instances, or set their deletedAt timestamp to the current time if <code>paranoid</code> is enabled.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-drop">drop</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Drop the table represented by this Model</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-findAll">findAll</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span>Array</span><<span><a href="class/lib/model.js~Model.html">Model</a></span>>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Search for multiple instances.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-findAndCount">findAndCount</a></span></span><span data-ice="signature">(findOptions: <span>Object</span>): <span>Promise</span><{count: <span="">Integer, rows: <span><span><a href="class/lib/model.js~Model.html">Model</a></span><span>[]</span></span>}></{count:></span>
</p>
</div>
<div>
<div data-ice="description"><p>Find all the rows matching your query, within a specified offset / limit, and get the total number of rows matching your query.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-findById">findById</a></span></span><span data-ice="signature">(id: <span>Number</span> | <span>String</span> | <span>Buffer</span>, options: <span>Object</span>): <span>Promise</span><<span><a href="class/lib/model.js~Model.html">Model</a></span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Search for a single instance by its primary key.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-findCreateFind">findCreateFind</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span><a href="class/lib/model.js~Model.html">Model</a></span>, <span>created</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>A more performant findOrCreate that will not work under a transaction (at least not in postgres)
Will execute a find call, if empty then attempt to create, if unique constraint then attempt to find again</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-findOne">findOne</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span><a href="class/lib/model.js~Model.html">Model</a></span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Search for a single instance.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-findOrBuild">findOrBuild</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span><a href="class/lib/model.js~Model.html">Model</a></span>, <span>initialized</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Find a row that matches the query, or build (but don't save) the row if none is found.
The successful result of the promise will be (instance, initialized) - Make sure to use .spread()</p>
<p><strong>Alias</strong>: <em>findOrInitialize</em></p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-findOrCreate">findOrCreate</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span><a href="class/lib/model.js~Model.html">Model</a></span>, <span>created</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Find a row that matches the query, or build and save the row if none is found
The successful result of the promise will be (instance, created) - Make sure to use .spread()</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-getTableName">getTableName</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>String</span> | <span>Object</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Get the tablename of the model, taking schema into account.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-hasMany">hasMany</a></span></span><span data-ice="signature">(target: <span><a href="class/lib/model.js~Model.html">Model</a></span>, options: <span>object</span>): <span><a href="class/lib/associations/has-many.js~HasMany.html">HasMany</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Creates a 1:m association between this (the source) and the provided target.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-hasOne">hasOne</a></span></span><span data-ice="signature">(target: <span><a href="class/lib/model.js~Model.html">Model</a></span>, options: <span>object</span>): <span><a href="class/lib/associations/has-one.js~HasOne.html">HasOne</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Creates an association between this (the source) and the provided target.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-init">init</a></span></span><span data-ice="signature">(attributes: <span>Object</span>, options: <span>Object</span>): <span><a href="class/lib/model.js~Model.html">Model</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Initialize a model, representing a table in the DB, with attributes and options.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-max">max</a></span></span><span data-ice="signature">(field: <span>String</span>, options: <span>Object</span>): <span>Promise</span><<span>Any</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Find the maximum value of field</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-min">min</a></span></span><span data-ice="signature">(field: <span>String</span>, options: <span>Object</span>): <span>Promise</span><<span>Any</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Find the minimum value of field</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-removeAttribute">removeAttribute</a></span></span><span data-ice="signature">(attribute: <span>String</span>)</span>
</p>
</div>
<div>
<div data-ice="description"><p>Remove attribute from model definition</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-restore">restore</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span>undefined</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Restore multiple instances if <code>paranoid</code> is enabled.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-schema">schema</a></span></span><span data-ice="signature">(schema: <span>String</span>, options: <span>Object</span>): <span>this</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Apply a schema to this model.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-scope">scope</a></span></span><span data-ice="signature">(options: <span>Array</span> | <span>Object</span> | <span>String</span> | <span>null</span>): <span><a href="class/lib/model.js~Model.html">Model</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Apply a scope created in <code>define</code> to the model.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-sum">sum</a></span></span><span data-ice="signature">(field: <span>String</span>, options: <span>Object</span>): <span>Promise</span><<span>Number</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Find the sum of field</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-sync">sync</a></span></span><span data-ice="signature">(options: <span>*</span>): <span>Promise</span><<span>this</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Sync this Model to the DB, that is create the table.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-truncate">truncate</a></span></span><span data-ice="signature">(options: <span>object</span>): <span>Promise</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Truncate all instances of the model.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-unscoped">unscoped</a></span></span><span data-ice="signature">(): <span><a href="class/lib/model.js~Model.html">Model</a></span></span>
</p>
</div>
<div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-update">update</a></span></span><span data-ice="signature">(values: <span>Object</span>, options: <span>Object</span>): <span>Promise</span><<span>Array</span><<span>affectedCount</span>, <span>affectedRows</span>>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Update multiple instances that match the where options.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#static-method-upsert">upsert</a></span></span><span data-ice="signature">(values: <span>Object</span>, options: <span>Object</span>): <span>Promise</span><<span>created</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Insert or update a single row.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</div>
<div data-ice="constructorSummary"><h2>Constructor Summary</h2><table class="summary" data-ice="summary">
<thead><tr><td data-ice="title" colspan="3">Public Constructor</td></tr></thead>
<tbody>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-constructor-constructor">constructor</a></span></span><span data-ice="signature">(values: <span>Object</span>, options: <span>Object</span>)</span>
</p>
</div>
<div>
<div data-ice="description"><p>Builds a new model instance.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</div>
<div data-ice="memberSummary"><h2>Member Summary</h2><table class="summary" data-ice="summary">
<thead><tr><td data-ice="title" colspan="3">Public Members</td></tr></thead>
<tbody>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-member-isNewRecord">isNewRecord</a></span></span><span data-ice="signature">: <span>Boolean</span>: <span>*</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns true if this instance has not yet been persisted to the database</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="kind" data-ice="kind">get</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-get-sequelize">sequelize</a></span></span><span data-ice="signature">: <span><a href="class/lib/sequelize.js~Sequelize.html">Sequelize</a></span>: <span>*</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>A reference to the sequelize instance</p>
</div>
</div>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</div>
<div data-ice="methodSummary"><h2>Method Summary</h2><table class="summary" data-ice="summary">
<thead><tr><td data-ice="title" colspan="3">Public Methods</td></tr></thead>
<tbody>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-changed">changed</a></span></span><span data-ice="signature">(key: <span>String</span>): <span>Boolean</span> | <span>Array</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>If changed is called with a string it will return a boolean indicating whether the value of that key in <code>dataValues</code> is different from the value in <code>_previousDataValues</code>.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-decrement">decrement</a></span></span><span data-ice="signature">(fields: <span>String</span> | <span>Array</span> | <span>Object</span>, options: <span>Object</span>): <span>Promise</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Decrement the value of one or more columns.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-destroy">destroy</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span>undefined</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Destroy the row corresponding to this instance.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-equals">equals</a></span></span><span data-ice="signature">(other: <span><a href="class/lib/model.js~Model.html">Model</a></span>): <span>Boolean</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Check whether this and <code>other</code> Instance refer to the same row</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-equalsOneOf">equalsOneOf</a></span></span><span data-ice="signature">(others: <span>Array</span>): <span>Boolean</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Check if this is equal to one of <code>others</code> by calling equals</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-get">get</a></span></span><span data-ice="signature">(key: <span>String</span>, options: <span>Object</span>): <span>Object</span> | <span>any</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>If no key is given, returns all values of the instance, also invoking virtual getters.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-getDataValue">getDataValue</a></span></span><span data-ice="signature">(key: <span>String</span>): <span>any</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Get the value of the underlying data value</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-increment">increment</a></span></span><span data-ice="signature">(fields: <span>String</span> | <span>Array</span> | <span>Object</span>, options: <span>Object</span>): <span>Promise</span><<span>this</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Increment the value of one or more columns.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-previous">previous</a></span></span><span data-ice="signature">(key: <span>String</span>): <span>any</span> | <span>Array</span><<span>any</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns the previous value for key from <code>_previousDataValues</code>.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-reload">reload</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span>this</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Refresh the current instance in-place, i.e.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-restore">restore</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span>undefined</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Restore the row corresponding to this instance.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-save">save</a></span></span><span data-ice="signature">(options: <span>Object</span>): <span>Promise</span><<span>this</span>|<span>Errors.ValidationError</span>></span>
</p>
</div>
<div>
<div data-ice="description"><p>Validate this instance, and if the validation passes, persist it to the database.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-set">set</a></span></span><span data-ice="signature">(key: <span>String</span> | <span>Object</span>, value: <span>any</span>, options: <span>Object</span>): <span>*</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Set is used to update values on the instance (the sequelize representation of the instance that is, remember that nothing will be persisted before you actually call <code>save</code>).</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-setDataValue">setDataValue</a></span></span><span data-ice="signature">(key: <span>String</span>, value: <span>any</span>)</span>
</p>
</div>
<div>
<div data-ice="description"><p>Update the underlying data value</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/lib/model.js~Model.html#instance-method-toJSON">toJSON</a></span></span><span data-ice="signature">(): <span>object</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Convert