如何向现有的 Sequelize 迁移中添加新字段
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
有时你会发现需要向现有的 Sequelize 迁移中添加一些新字段。这对于生产环境应用尤其重要,因为刷新迁移是不可行的。以下是实现此操作的简要指南。
假设您想向Users表中添加一些新字段;以下是步骤。
步骤 1 - 创建新的迁移
npx sequelize-cli migration:create --name modify_users_add_new_fields
步骤 2 - 根据需要编辑迁移文件
module.exports = {
up(queryInterface, Sequelize) {
return Promise.all([
queryInterface.addColumn(
'Users', // table name
'twitter', // new field name
{
type: Sequelize.STRING,
allowNull: true,
},
),
queryInterface.addColumn(
'Users',
'linkedin',
{
type: Sequelize.STRING,
allowNull: true,
},
),
queryInterface.addColumn(
'Users',
'bio',
{
type: Sequelize.TEXT,
allowNull: true,
},
),
]);
},
down(queryInterface, Sequelize) {
// logic for reverting the changes
return Promise.all([
queryInterface.removeColumn('Users', 'linkedin'),
queryInterface.removeColumn('Users', 'twitter'),
queryInterface.removeColumn('Users', 'bio'),
]);
},
};
步骤 3 - 使用新字段更新模型
步骤 4 - 运行迁移
npx sequelize-cli db:migrate
至此,您已成功向现有迁移添加了新字段。
文章来源:https://dev.to/nedsoft/add-new-fields-to-existing-sequelize-migration-3527