我使用knex.js来处理SQL查询。我有一个包含选择信息的表格,例如
{
market_opt_in: 1
market_opt_in_date: 2018-02-15 15:51:45
message_opt_in: 0
message_opt_in_date: 2018-02-15 15:51:45
...
}
等等。
更改个别opt_in时是否可以更改日期?所以就像
{
market_opt_in: 1
market_opt_in_date: 2018-02-15 15:51:45
message_opt_in: 1 // when this row updated
message_opt_in_date: 2018-02-20 11:12:13 // date updates as well
...
}
答案 0 :(得分:0)
使用基于knex构建的objection.js更容易实现,并且在插入/更新之前有用于修改数据的钩子。
使用knex可能最容易支持的方法是编写单独的帮助函数来更新该表,这也总是在你的情况下设置日期。
另一种方法是将事件处理程序写入knex.on(' start',...)事件,查看查询构建器内部,如果从那里发现message_opt_in已更新,则可以添加还会更新message_opt_in_date列。
无论如何,我不会建议第三种方式,因为当knex更新时它可能会中断。