sequelize中根据已有的model文件生成migration文件?
官方文档创建model
和migration
的CLI代码
sequelize model:generate --name modelname --attributes name:ranwawa,age:1
这样就会自动创建一个user.js
的模型文件和timestamp-create-user.js
的数据迁移文件
困扰
- 在CLI里面写代码太麻烦了
- 我想自己先定义好模型文件
/models/user.js
- 然后用CLI命令将
/models/user.js
生成migration
文件
/models/user.js
module.exports = (sequelize, DataTypes) => {
return sequelize.define('userRating', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
field:'Id'
}
}, {
timestamps: true,
paranoid: true
});
};
sequelize CLI 命令
sequelize migration:generate --name "xxx" --models-path "user.js"
问题
- sequelize会自动生成一个
timestamp-xxx.js
的文件 - 但是
up
和down
方法里面没有根据user.js
生成代码
尝试解决
- 把
--models-path
后面的参数换成user
models/user.js
结果一样 - 执行
user.js
里面的代码 结果也一样
module.exports = ((sequelize,DataTypes)=>{...})();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我现在跟你有一样的需求,请问你的问题解决了吗?
嗯,我觉得当然能够自动生成migration比较好,不过写好model之后,改migration也很容易了。
参考这个
比如想加一个test列,只要up中
queryInterface.addColumn()
,down中queryInterface.removeColumn()
,