Reputation: 7781
Just following the sequelize doc ( http://docs.sequelizejs.com/manual/tutorial/migrations.html ), we can generate a model and a migration file using the sequelize-cli command like:
sequelize model:generate --name Users --attributes firstName:string,lastName:string,bio:text
but then, in the migration file, one can find two additional timestamps values that will be added to the DB:
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
I know I can set timestamp: false
and/or deleting these two entries manually, but it would be better to set an option while generating the model/migration files not to have these timestamps. Is there such a way?
Upvotes: 4
Views: 5632
Reputation: 159
Use --underscored param for sequelize-cli.
Example:
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
or use file 'config.json' with this contents:
{
"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"
}
}
..and pass it to command line as param:
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
Upvotes: 3
Reputation: 3642
You can set the options in config.json
as well. It works for all models.
"dialect": "mysql",
"logging": false,
"define": {
"timestamps": true
}
Upvotes: 3