[英]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.