所以,假设我们有Sequelize模型:
var User = sequelize.define("User", {
id: {
type: DataTypes.STRING(45),
allowNull: false,
primaryKey: true
},
password: {
type: DataTypes.STRING(60),
allowNull: false
},
email: {
type: DataTypes.STRING(45),
allowNull: false,
unique: true
},
firstName: {
type: DataTypes.STRING(45),
allowNull: true,
defaultValue: null
}
},
{
tableName: 'profiles',
classMethods: {
associate: function(models) {
User.belongsToMany(User, {through: 'friends', as:'friend'});
}
}
});
在调用associate()方法之后,它将创建一个包含friends
,userId
,friendId
和createdAt
列的额外表updatedAt
。情况是我需要使用此表安全删除模式,换句话说,我必须添加'删除'专栏。我尝试在belongsToMany的属性中使用paranoid: true
,但没有用。有什么办法吗?
答案 0 :(得分:2)
也许你可以创建一个名为Friend的模型/表格。并且您可以在该模型中设置偏执:true。当您删除用户时,它会保持用户的朋友关系保持在该模型中。
我希望它有效。 :)