首页 > 解决方案 > 在迁移中添加自动 createdAt 和 updatedAt 时间戳

问题描述

我正在进行 Sequelize 迁移,它添加了一个新表。在此表中,我想添加自动更新的时间戳 createdAt 和 updatedAt ,并且我的迁移使用如下文字工作:

createdAt: {
    type: Sequelize.DATE,
    defaultValue: Sequelize.literal('CURRENT_TIMESTAMP'),
},
updatedAt: {
    type: Sequelize.DATE,
    defaultValue: Sequelize.literal('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'),
},

我只需要添加timestamps: true选项,但时间戳不会自动更新。

我可以在不使用文字的情况下做到这一点吗?

标签: javascriptsequelize.js

解决方案


我在设置defaultValue时间戳字段时遇到了类似的问题。

我遇到了这个问题:https ://github.com/sequelize/sequelize/issues/645 ,它建议调用Sequelize.fn('NOW')自动更新时间戳。

似乎在我的情况下工作。


推荐阅读