2016-11-19 131 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。

相關問題