[英]Sequelize on cascade delete run a function?
我有 2 个模型 MenuItems 和 Category,从类别到菜单项具有 1-n 关系。 此外,无论何时创建 MenuItem,都会在服务器上保存一个 .jpg 文件(文件名由服务器生成,因此无需将其保存为数据库中的列)。 我有
{
onDelete: "cascade"
}
在 Category 关联中设置,因为如果删除了一个类别,那么所有菜单项都应该随之而来。 但是,这留下了一堆未使用的 .jpg 文件。 发生级联删除时有没有办法删除它们?
您可以为 MenuItems 模型添加 beforeDestroy 钩子,如下所示:
// in menuItemsModel.js
MenuItems.beforeDestroy((instance, options) => {
console.log('MenuItems before destroy hook is triggered')
const imageFileDestination = instance.getDataValue('imageUrlFieldName')
// put your logic to delete .jpg files with destination
fs.unlink(url)
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.