智能化下的产物,无人棋牌室
Sequelize v4.0 发布了,Sequelize.js 提供对 mysql” target=”_blank”>MySQL,mariadb” target=”_blank”>MariaDB,sqlite” target=”_blank”>SQLite 和 postgresql” target=”_blank”>PostgreSQL 数据库的简单访问,通过映射数据库条目到对象,或者对象到数据库条目。简而言之,就是 ORM(Object-Relational-Mapper)。Sequelize.js 完全是使用 JavaScript 编写,适用于 Node.js 的环境。
更新内容:
changelog:
- [FIXED] Pass ResourceLock instead of raw connection in MSSQL disconnect handling
- [CHANGED] Remove
hookValidate
in favor ofvalidate
withhooks: true | false
. - [REMOVED] Support for
referencesKey
- [CHANGED] Throw if
dialect
is not provided to the constructor - [CHANGED] Throw
bluebird.AggregateError
instead of array frombulkCreate
when validation fails - [FIXED]
$notIn: []
is now converted toNOT IN (NULL)
#4859 - [FIXED] Add
raw
support toinstance.get()
#5815 - [ADDED] Compare deletedAt against current timestamp when using paranoid #5880
- [FIXED]
BIGINT
gets truncated #5176 - [FIXED] Trigger afterCreate hook after all nested includes (for hasMany or belongsToMany associations) have been created to be consistent with hasOne.
- [REMOVED] Support for
pool:false
- [REMOVED] Default transaction isolation level #5094
- [ADDED] Add logging for mysql warnings, observant of the
showWarnings
option. #5900 - [REMOVED] MariaDB dialect
- [FIXED]
hasOne
now prefer aliases to construct foreign key #5247 - [CHANGED]
instance.equals
now only checks primary keys, instead of all attributes. - [REWRITE] Rewrite model and instance to a single class – instance instanceof Model #5924
- [REMOVED] Counter cache plugin
BC breaks:
hookValidate
removed in favor ofvalidate
withhooks: true | false
.validate
returns a promise which is rejected if validation fails- Removed support for
referencesKey
, use areferences
object - Remove default dialect
- When
bulkCreate
is rejected because of validation failure it throws abluebird.AggregateError
instead of an array. This object is an array-like so length and index access will still work, butinstanceof
array will not $notIn: []
will now match all rows instead of none- (MySQL)
BIGINT
now gets converted to string when number is too big - Removed support for
pool:false
, if you still want to use single connection setpool.max
to1
- Removed default
REPEATABLE_READ
transaction isolation, use config option to explicitly set it - Removed MariaDB dialect – this was just a thin wrapper around MySQL, so using
dialect: 'mysql'
instead should work with no further changes hasOne
now preferas
option to generate foreign key name, otherwise it defaults to source model nameinstance.equals
now provides reference equality (do two instances refer to the same row, i.e. are their primary key(s) equal). Useinstance.get()
to get and compare all values.- Instances (database rows) are now instances of the model, instead of being a separate class. This means you can replace User.build() with new User() and sequelize.define with User extends Sequelize.Model. See #5924
- The counter cache plugin, and consequently the
counterCache
option for associations has been removed. The plugin is seeking a new maintainer – You can find the code here