我有一些模型关联,如下所示:
db.runt.hasMany db.runtsBudgets, { foreignKey: 'runt_id' }
db.runt.hasMany db.runtsProperties, { foreignKey: 'runt_id' }
db.runtsProperties.belongsTo db.runt, { onDelete: 'cascade' }
db.runtsBudgets.belongsTo db.runt, { onDelete: 'cascade' }
这些模型都是用paranoid: true
定义的。鉴于我有一个runt
runtsBudgets
,当我尝试删除这样的runt
时:
db.runt.destroy(id: 1).complete (err) ->
runt
被正确地软删除,但runtsBudgets
却没有。如果我不使用paranoid: true
,则级联删除工作正常,但不起作用。
有人知道sequelize是否支持级联软删除?或者我在这里做了一些完全错误的事情?我查看了关于协会和paranoid
的文档,但我没有找到任何内容。
答案 0 :(得分:0)
这实际上是{2.0}版本的sequelize
版本中的一个错误,并且是由options
变量引起的,该变量实际上没有被传递到bulkUpdate
调用时delete
是在一个偏执的桌子上完成的。
此问题现已通过此patch here.
解决