我在我的node.js项目中以偏执模式使用Sequelize.js,而软删除在查找和删除数据时按预期工作,我很难找到取消删除软删除行的方法.
Model.findAll({paranoid: false,where: {deletedAt: {ne: null}}})
但是偏执:updating时没有假.
解决方法
您可以使用instance.setDataValue(‘deletedAt’,null):
var Bluebird = require('bluebird'); var models = require('./models'); models.sequelize.sync({force: true }) .then(function () { return models.User.create({ name: 'user' }) }) .then(function (user) { return user.destroy() }) .then(function () { return models.sequelize.models.User.findAll({ paranoid: false }); }) .then(function (users) { var user = users[0]; user.setDataValue('deletedAt',null); return user.save({ paranoid: false }); }).then(function () { return models.sequelize.models.User.findAll(); }).then(function (users) { console.log(users[0]); });
请注意,此代码段使用Sequelize @ v2