Migration이란?
DB 스키마(테이블·컬럼·인덱스)의 변경 이력을 파일 시퀀스로 저장해 환경 간 일관성을 유지하는 방식이다.
핵심 원칙
- 각 마이그레이션은 멱등적이어야 함
- Git으로 버전 관리
- 적용 이력은 DB 내부 테이블에 저장 (예:
_prisma_migrations)
주요 도구
Prisma Migrate, Drizzle Kit, Flyway, Liquibase, Alembic(Python), Laravel Migrations.
프로덕션 팁
- 대용량 테이블 ALTER는 zero-downtime 전략 필수
- FK 추가 전 데이터 정합성 선 검증
- 롤백 불가능한 변경(DROP)은 단계 배포