2016-11-19 130 views
0

我使用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() 
     } 
    ) 
    }, 

我无法理解这将如何工作。

回答

2

您需要使用MySQL函数NOW()作为默认值。

所以,你的列声明应该是这样的:

{ 
    type: Sequelize.DATEONLY, 
    allowNull: false, 
    defaultValue: Sequelize.NOW 
} 

请记住,这将不填充在迁移中的字段。他们将是空的,因为他们没有创建sequelize。

相关问题