我在使用Sequelize CLI,但在使用它时遇到了一些问题。
注意,这是我第一次使用Sequelize,可能是我丢失了一些概念,会非常感谢它告诉我我遗漏了什么。
我做了一个这样简单的模型:
$ sequelize model:generate --name Notes --attributes text:content
我得到这个迁移文件:
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('Notes', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
content: {
type: Sequelize.TEXT
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('Notes');
}
};
但是,现在我需要添加新的字段“title”字符串类型,但是我找不到有关此过程的任何相关信息。
我该走了吗
迁移:撤消
要删除所有表并更新迁移模型文件并重新进行迁移吗?我认为这不是使用Sequelize的正确方法。
我也一直混淆“迁移”的概念,为什么要使用它?
而且似乎在运行“migrate:undo”命令之后所有数据都消失了,有没有一种方法可以保存它们,以便在更新表模式之后恢复数据?
任何建议都会非常感谢的!