기존 Sequelize 마이그레이션에 새 필드를 추가하는 방법

5135 단어 migrationssequelize
때때로 기존 속편 마이그레이션에 몇 가지 새 필드를 추가해야 한다는 것을 깨닫게 됩니다. 이는 마이그레이션 새로 고침이 옵션이 아닌 프로덕션 앱에 특히 중요합니다. 다음은 구현 방법에 대한 빠른 가이드입니다.
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



즉, 기존 마이그레이션에 새 필드를 성공적으로 추가했습니다.

좋은 웹페이지 즐겨찾기