iva*_*van 12 orm node.js sequelize.js
我从sequelize开始,并在线跟踪他们的视频教程.跑完之后
node_modules/.bin/sequelize model:create --name User --attributes username:string
node_modules/.bin/sequelize model:create --name Task --attributes title:string
Run Code Online (Sandbox Code Playgroud)
它为create user和create task创建了迁移文件.然后我必须将关联添加到每个模型,如下所示:
// user.js
classMethods: {
associate: function(models) {
User.hasMany(models.Task);
}
}
// task.js
classMethods: {
associate: function(models) {
Task.belongsTo(models.User);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,已创建用于为用户和任务创建表的迁移文件.我是否必须手动更新它们以添加关系?"migration:create"命令用于创建迁移框架文件.我是否手动填写框架文件,或者除了模型创建之外还有自动创建完整迁移文件的方法吗?
PS我已经看到了以下stackoverflow问题: 如何使用Sequelize模型中的Sequelize CLI自动生成迁移?
您可以从空迁移文件创建单独的迁移。当我需要向表中添加一些额外的列时,我就这样做了。
sequelize migration:create --name users
Run Code Online (Sandbox Code Playgroud)
然后在我的新迁移文件中。
module.exports = {
up: function (queryInterface, Sequelize) {
queryInterface.addColumn(
'Users',
'url',
Sequelize.STRING
);
},
down: function (queryInterface, Sequelize) {
queryInterface.removeColumn(
'Users',
'url',
Sequelize.STRING
);
}
};
Run Code Online (Sandbox Code Playgroud)
然后只需运行迁移。
sequelize db:migrate
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5333 次 |
| 最近记录: |