Javascript Sequelize db:migrate不';t更新模型
我使用sequelize cli创建了一个表,但是我忘记添加一列:title 因此,我生成了新的迁移:Javascript Sequelize db:migrate不';t更新模型,javascript,orm,sequelize.js,sequelize-cli,Javascript,Orm,Sequelize.js,Sequelize Cli,我使用sequelize cli创建了一个表,但是我忘记添加一列:title 因此,我生成了新的迁移: $ sequelize migration:create --name update-notes 并将这些代码放入迁移文件中: 'use strict'; module.exports = { up: (queryInterface, Sequelize) => { return queryInterface.addColumn( 'Notes',
$ sequelize migration:create --name update-notes
并将这些代码放入迁移文件中:
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.addColumn(
'Notes',
'title',
Sequelize.STRING
);
},
down: (queryInterface, Sequelize) => {
return queryInterface.removeColumn(
'Notes',
'title'
);
}
};
运行迁移并检查DB中的表架构后,它可以工作:
$ sequelize db:migrate
但是,模型尚未添加我的新列:
'use strict';
// models/notes.js
module.exports = (sequelize, DataTypes) => {
const Notes = sequelize.define('Notes', {
content: DataTypes.TEXT // NO 'TITLE' COLUMN
}, {});
Notes.associate = function(models) {
// associations can be defined here
};
return Notes;
};
我错过了什么?如何将更新应用于模型文件
另外,若表中以前的数据与新表架构不兼容,该怎么办?迁移失败,开发人员手动修复问题吗?不幸的是,使用Sequelize迁移,您需要手动更新模型和迁移文件。创建新的移植文件不会更新模型文件,反之亦然。尽管Sequelize CLI提供了一些帮助程序选项,但您通常需要自行确保正确定义模型文件和迁移文件。使用Sequelize迁移,您需要手动更新模型文件和迁移文件。运行新的迁移不会自动更新您的模型文件。@mcranston18哦,这是个坏消息@mcranston18嘿,您是否可以发布来回答我可以接受它?