我无法让 Sequelize.js 软删除表中的行。我使用 Sequelize cli 来完成所有迁移,并且没有使用同步功能在启动时重新同步数据库。我的迁移和模型中有时间戳字段,甚至有deletedAt字段(模型也有偏执:true),无论如何它仍然删除该行而不是向deletedAt字段添加时间戳。我注意到,当进行任何查询时,它不会像我在一些教程中看到的那样在查询中添加deletedAt = NULL。我正在使用 Sequelize.js v3.29.0。
模型文件:
'use strict';
module.exports = function(sequelize, DataTypes) {
var Collection = sequelize.define('Collection', {
userId: {
type: DataTypes.INTEGER,
allowNull: false,
validate: {
isInt: true
}
},
name: {
type: DataTypes.STRING,
allowNull: false
},
description: DataTypes.TEXT,
createdAt: {
allowNull: false,
type: DataTypes.DATE
},
updatedAt: {
allowNull: false,
type: DataTypes.DATE
},
deletedAt: {
type: DataTypes.DATE
}
}, {
classMethods: {
associate: function(models) {
Collection.belongsTo(models.User, { foreignKey: 'userId' })
}
}
}, {
timestamps: …Run Code Online (Sandbox Code Playgroud)