我有一套Sequelize模型.我想使用迁移,而不是DB Sync.
根据this article,Sequelize CLI似乎能够做到这一点:
“当您使用CLI进行模型生成时,您也将免费获得迁移脚本.”
如何使用现有Sequelize模型中的Sequelize CLI自动生成迁移?
解决方法:
您无法为现有模型创建迁移脚本.
资源:
如果采用经典方式,则必须通过CLI重新创建模型:
sequelize model:create --name MyUser --attributes first_name:string,last_name:string,bio:text
它会生成这些文件:
车型/ myuser.js:
"use strict";
module.exports = function(sequelize, DataTypes) {
var MyUser = sequelize.define("MyUser", {
first_name: DataTypes.STRING,
last_name: DataTypes.STRING,
bio: DataTypes.TEXT
}, {
classMethods: {
associate: function(models) {
// associations can be defined here
}
}
});
return MyUser;
};
迁移/ 20150210104840创建-MY-user.js的:
"use strict";
module.exports = {
up: function(migration, DataTypes, done) {
migration.createTable("MyUsers", {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: DataTypes.INTEGER
},
first_name: {
type: DataTypes.STRING
},
last_name: {
type: DataTypes.STRING
},
bio: {
type: DataTypes.TEXT
},
createdAt: {
allowNull: false,
type: DataTypes.DATE
},
updatedAt: {
allowNull: false,
type: DataTypes.DATE
}
}).done(done);
},
down: function(migration, DataTypes, done) {
migration.dropTable("MyUsers").done(done);
}
};
标签:sequelize-js,mysql,node-js,orm
来源: https://codeday.me/bug/20190926/1820808.html