본문으로 건너뛰기
제품 -> ERD가격문서블로그로그인EnglishERD 시작하기

Migration SQL

AI-ERD는 다이어그램의 두 버전을 비교해 migration SQL을 자동 생성할 수 있습니다. ALTER TABLE 문을 손으로 작성하는 대신 스키마 스냅샷 diff를 기반으로 DDL을 만들 수 있습니다.


동작 방식​

  1. History 사이드바 패널을 엽니다.
  2. 비교할 두 버전을 선택합니다. 하나는 source(이전), 하나는 target(이후)입니다.
  3. Compare Versions를 클릭해 side-by-side diff를 확인합니다.
  4. Generate Migration SQL 버튼을 클릭합니다.
  5. target dialect를 선택합니다.
  6. 생성된 SQL을 검토합니다.
  7. Copy 버튼으로 clipboard에 복사합니다.

Migration SQL은 source schema를 target schema로 바꾸는 데 필요한 최소 DDL statement 집합을 표현합니다.


지원 작업​

Generator는 다음 변경을 감지하고 SQL을 만듭니다.

Tables​

변경생성 SQL
테이블 추가CREATE TABLE
테이블 삭제DROP TABLE
테이블 이름 변경ALTER TABLE ... RENAME

Columns​

변경생성 SQL
컬럼 추가ALTER TABLE ... ADD COLUMN
컬럼 삭제ALTER TABLE ... DROP COLUMN
컬럼 이름 변경ALTER TABLE ... RENAME COLUMN
타입 변경ALTER TABLE ... ALTER COLUMN TYPE 등 dialect별 구문
nullable 변경SET NOT NULL / DROP NOT NULL
기본값 변경SET DEFAULT / DROP DEFAULT

Relationships and indexes​

변경생성 SQL
FK 추가/삭제ADD CONSTRAINT / DROP CONSTRAINT
index 추가/삭제CREATE INDEX / DROP INDEX
unique 변경unique index 또는 constraint 변경

지원 dialect​

  • MySQL / MariaDB
  • PostgreSQL
  • Oracle
  • SQL Server

각 dialect는 identifier quoting, auto-increment syntax, 타입 변경 syntax가 다릅니다. AI-ERD는 선택한 dialect에 맞춰 출력합니다.


예시​

-- Migration from v3 to v5

ALTER TABLE "orders" ADD COLUMN "discount_code" VARCHAR(50);

ALTER TABLE "orders" DROP COLUMN "legacy_status";

ALTER TABLE "products"
ADD CONSTRAINT "fk_products_category"
FOREIGN KEY ("category_id") REFERENCES "categories" ("id");

CREATE INDEX "idx_orders_created_at" ON "orders" ("created_at");

팁​

  • 큰 변경 전에는 버전을 저장하세요. migration 도구는 비교할 스냅샷이 최소 두 개 필요합니다.
  • 실행 전 반드시 검토하고 staging database에서 테스트하세요.
  • copy 버튼을 사용하면 전체 SQL을 database client나 migration 파일에 바로 붙여 넣을 수 있습니다.
  • 버전 기록과 함께 쓰면 스키마 변경 타임라인을 명확하게 관리할 수 있습니다.