我刚刚开始使用 Sequelize 和 Sequelize CLI
由于是开发时期,经常会增加和删除列。向现有模型添加新列的最佳方法是什么?
例如,我想将一个新列 'completed' 改为 Todo 模型。我将此列添加到 models/todo.js。下一步是什么?
我试过 sequelize db:migrate
不工作:“没有执行迁移,数据库架构已经是最新的。”
最佳答案
如果您使用 sequelize-cli您需要先创建迁移。这只是一个文件,它告诉引擎如何更新数据库以及在出现问题时如何回滚更改。您应该始终将此文件提交到您的存储库
$ sequelize migration:create --name name_of_your_migration
迁移文件如下所示:
module.exports = {
up: function(queryInterface, Sequelize) {
// logic for transforming into the new state
return queryInterface.addColumn(
'Todo',
'completed',
Sequelize.BOOLEAN
);
},
down: function(queryInterface, Sequelize) {
// logic for reverting the changes
return queryInterface.removeColumn(
'Todo',
'completed'
);
}
}
然后,运行它:
$ sequelize db:migrate
关于node.js - 如何在 Sequelize CLI 中添加、删除新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46357533/