SequelizeJS onDelete Cascade没有删除连接表记录,下面是我的代码
company.hasMany(employee, {foreignKey: 'companyId'});
employee.belongsTo(company, {foreignKey: 'companyId', onUpdate: 'CASCADE', onDelete: 'CASCADE'});
这里的公司是父母,员工是孩子
company.hasMany(vendor, {foreignKey: 'companyId'});
vendor.belongsTo(company, {foreignKey: 'companyId', onUpdate: 'CASCADE', onDelete: 'CASCADE'});
这里公司是父母,供应商是孩子
我的删除路线代码:
router.delete('/company/:companyId', function(req, res){
var companyId = req.params.companyId;
dataSet.destroy({where: {companyId: companyId}}, include: [employee, vendor])
.then(function(response){
res.json(response);
})
.catch(function(err){
res.json(err)
})
});
这里删除时,公司被删除但员工和孩子没有删除。
更新
在调用company.destroy();
时执行此查询DELETE FROM company WHERE companyId = 2;
有没有其他方法可以执行删除方法?是我的代码ryt?