我有以下表格:
Groups
Members
Groups
- > Members
。 Groups
与Members
有很多关系。
更新Groups
记录之一时,更新updatedAt
Members
列的最佳做法是什么?我使用Sequlize ORM。
目前,我正在更新Members
记录,然后提取属于该Groups
表的Members
记录,并使用当前日期更新updatedAt
列。我觉得有更好的方法吗?
答案 0 :(得分:1)
Sequelize不提供“触发器”的本机定义,因为它们的实现因目标数据库而异。但是,您可以使用两种方法来执行此操作:
如果您不介意特定于数据库的代码,您可以轻松使用原始SQL查询(甚至通过Sequelize)发出ALTER TABLE命令来执行此触发更新。
您可以使用Sequelize Hooks(例如afterUpdate
)在Sequelize本身,跨平台中执行此操作。有关详细信息,请参阅Hooks Documentation。
就我个人而言,我更喜欢Hooks,但有一点需要注意:只要您使用Sequelize进行所有更新工作,它们才能正常工作。它们不会被转换为数据库触发器,因此如果您手动更新数据库(例如使用管理工具),则不会执行更新。