Sequelize v6 is the next major release after v5
Sequelize v6 will only support Node 10 and up #10821
You should now use cls-hooked package for CLS support.
const cls = require('cls-hooked');
const namespace = cls.createNamespace('....');
const Sequelize = require('sequelize');
Sequelize.useCLS(namespace);
Bluebird now supports async_hooks
. This configuration will automatically be enabled when invoking Sequelize.useCLS
. Thus all promises should maintain CLS context without cls-bluebird
patching.
options.returning
Option returning: true
will no longer return attributes that are not defined in the model. Old behavior can be restored by using returning: ['*']
Model.changed()
This method now tests for equality with _.isEqual
and is now deep aware. Modifying nested value for JSON object won't mark them as changed, because it is still the same object.
const instance = await MyModel.findOne();
instance.myJsonField.a = 1;
console.log(instance.changed()) => false
await instance.save(); // this will not save anything
instance.changed('myJsonField', true);
console.log(instance.changed()) => ['myJsonField']
await instance.save(); // will save
Copyright © 2014–present Sequelize contributors
Licensed under the MIT License.
https://sequelize.org/master/manual/upgrade-to-v6.html