我正在使用带有 Sequelize 的 Node Express,我想将数据库中“日期”列的默认值设置为今天的日期。我尝试了以下迁移,但没有成功,因为它将默认日期设置为与我运行迁移时相同的日期。我希望将其设置为与创建行时相同的日期。
module.exports = {
up: function (queryInterface, Sequelize) {
return queryInterface.addColumn(
'Todos',
'date',
{
type: Sequelize.DATEONLY,
allowNull: false,
defaultValue: new Date()
}
)
},
我不明白那将如何工作。
原文由 Andreas 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要将 MySQL 函数
NOW()
用作默认值。所以你的列声明应该是这样的:
请记住,这不会填充迁移中的字段。它们将是空的,因为它们不是用 sequelize 创建的。