簡體   English   中英

Sequelize 上級聯刪除運行功能?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM