只需按照续集文档(http://docs.sequelizejs.com/manual/tutorial/migrations.html),我们就可以使用sequelize-cli命令生成模型和迁移文件,如:
sequelize model:generate --name Users --attributes firstName:string,lastName:string,bio:text
但是,在迁移文件中,可以找到两个将添加到数据库的附加时间戳值:
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
我知道我可以手动设置timestamp: false
和/或删除这两个条目,但最好在生成模型/迁移文件时设置一个选项,以便不要使用这些时间戳。有这样的方式吗?
答案 0 :(得分:2)
您也可以在config.json
中设置选项。它适用于所有型号。
"dialect": "mysql",
"logging": false,
"define": {
"timestamps": true
}
答案 1 :(得分:1)
对sequelize-cli使用-强调参数。
示例:
sequelize-cli model:generate --name User --attributes login:string,password:string,token:string,token_exp:date,firstName:string,lastName:string,email:string,phone:string --underscored
或使用具有以下内容的文件“ config.json”:
{
"define": {
"underscored": true,
"freezeTableName": true,
"charset": "utf8",
"dialectOptions": {
"collate": "utf8_general_ci"
},
"timestamps": true,
"createdAt": "created_at",
"updatedAt": "updated_at",
"createdBy": "created_by",
"updatedBy": "updated_by"
}
}
..并将其作为参数传递给命令行:
sequelize-cli model:generate --name User --attributes login:string,password:string,token:string,token_exp:date,firstName:string,lastName:string,email:string,phone:string --config config.json