>  기사  >  데이터 베이스  >  기존 모델에서 Sequelize 마이그레이션을 자동으로 생성하는 방법은 무엇입니까?

기존 모델에서 Sequelize 마이그레이션을 자동으로 생성하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-19 11:48:03893검색

How to Automatically Generate Sequelize Migrations from Existing Models?

기존 모델에서 Sequelize 마이그레이션 자동 생성

이 기사에서는 CLI를 사용하여 Sequelize에서 마이그레이션 생성 프로세스를 자동화하는 방법을 살펴보겠습니다. . 이는 기존 Sequelize 모델로 작업하고 처음부터 다시 생성할 필요를 피할 때 특히 유용합니다.

문제:

기존 Sequelize 모델 세트가 주어지면 어떻게 할 수 있습니까? Sequelize CLI를 사용하여 해당 마이그레이션 스크립트를 자동으로 생성합니까?

해결책:

Sequelize CLI는 기존 모델에서 마이그레이션을 생성하기 위한 간단한 접근 방식을 제공합니다. 이를 달성하려면 다음 단계를 따르십시오.

  1. 빈 마이그레이션 스켈레톤 생성: Sequelize migration:generate --name [name_of_your_migration] CLI 명령을 실행합니다. 이렇게 하면 빈 마이그레이션 파일이 생성됩니다.
  2. 마이그레이션 파일 수동 채우기: 생성된 마이그레이션 파일에는 모델 구조가 포함되어 있지 않지만 깔끔하고 편리한 시작점을 제공합니다. 기존 모델 정의를 기반으로 필요한 세부 정보를 입력합니다.

추가 참고:

마이그레이션 디렉터리가 포함된 디렉터리에서 CLI 명령이 실행되는지 확인하세요. 불필요하게 새 모델을 생성하는 것을 방지합니다.

예:

"id", "name" 및 " 필드가 있는 "Employee"라는 기존 모델이 있다고 가정합니다. 샐러리". 마이그레이션 스크립트를 생성하려면 다음 명령을 실행합니다.

sequelize migration:generate --name create_employee_table

생성된 마이그레이션 템플릿은 다음과 유사합니다.

'use strict';

module.exports = {
  up: (queryInterface, Sequelize) => {
    return queryInterface.createTable('Employees', {
      id: {
        type: Sequelize.INTEGER,
        allowNull: false,
        primaryKey: true,
        autoIncrement: true,
      },
      name: {
        type: Sequelize.STRING,
        allowNull: false,
      },
      salary: {
        type: Sequelize.FLOAT,
        allowNull: true,
      },
    });
  },

  down: (queryInterface, Sequelize) => {
    return queryInterface.dropTable('Employees');
  },
};

그런 다음 수동으로 업데이트해야 합니다. "Employees" 테이블을 생성하고 삭제하는 데 필요한 실제 스키마 변경 사항을 반영하는 down 메서드.

위 내용은 기존 모델에서 Sequelize 마이그레이션을 자동으로 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.