发布于 2026-01-06 0 阅读
0

如何向现有的 Sequelize Migration DEV 添加新字段 DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

如何向现有的 Sequelize 迁移中添加新字段

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

有时你会发现需要向现有的 Sequelize 迁移中添加一些新字段。这对于生产环境应用尤其重要,因为刷新迁移是不可行的。以下是实现此操作的简要指南。

假设您想向Users表中添加一些新字段;以下是步骤。

步骤 1 - 创建新的迁移

npx sequelize-cli migration:create --name modify_users_add_new_fields
Enter fullscreen mode Exit fullscreen mode

步骤 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'),
    ]);
  },
};
Enter fullscreen mode Exit fullscreen mode

步骤 3 - 使用新字段更新模型

步骤 4 - 运行迁移

npx sequelize-cli db:migrate

Enter fullscreen mode Exit fullscreen mode

至此,您已成功向现有迁移添加了新字段。

文章来源:https://dev.to/nedsoft/add-new-fields-to-existing-sequelize-migration-3527