将默认值设置为今日日期中的一个Sequelize迁移
问题描述:
我使用Node Express与Sequelize,并且我想将数据库中的“date”列的defaultValue设置为今天的日期。我尝试了以下迁移,但它没有工作,因为它将默认日期设置为与我运行迁移时的日期相同。我希望它被设置为与创建行时的日期相同。将默认值设置为今日日期中的一个Sequelize迁移
module.exports = {
up: function (queryInterface, Sequelize) {
return queryInterface.addColumn(
'Todos',
'date',
{
type: Sequelize.DATEONLY,
allowNull: false,
defaultValue: new Date()
}
)
},
我无法理解这将如何工作。
答
您需要使用MySQL函数NOW()
作为默认值。
所以,你的列声明应该是这样的:
{
type: Sequelize.DATEONLY,
allowNull: false,
defaultValue: Sequelize.NOW
}
请记住,这将不填充在迁移中的字段。他们将是空的,因为他们没有创建sequelize。