我有两个连续的表,它们彼此之间属于属于许多关联。我有第三个联结表,当从两个表中删除一行时,我想从联结表中删除级联行。
续集版本:3.23.0
我尝试了各种可能性来创建序列表
a)在关联内部添加钩子 b)在联结表关联内添加外键 c)从sequelize迁移脚本(https://sequelize.readthedocs.io/en/v3/docs/migrations/)(以前在项目中未使用过)
以下是我的续集模型
var product = sequelize.define('product', {
name: {
type: DataTypes.STRING,
allowNull: false
},
{
timestamps: false,
classMethods: {
associate: function (models) {
product.belongsToMany(models.users, {through: 'productUsers', onDelete: 'cascade'});
}
}
});
2。用户模型:
var users = sequelize.define('users', {
name: {type: DataTypes.STRING, allowNull: false, unique: true},
},
{
classMethods: {
associate: function(models) {
users.belongsToMany(models.product, {through:'productUsers', onDelete: 'cascade'});
}
}
});
var productUsers = sequelize.define('productUsers', {
}, {
classMethods: {
associate: function (models) {
productUsers.belongsTo(models.product,{onDelete:'cascade'});
productUsers.belongsTo(models.model,{onDelete:'cascade'});
}
}
},
{
timestamps: true
});
现在,我要在删除产品或删除用户时从productUsers表中删除级联的一行。但是它没有从联结表中删除任何内容。