[Database] Migration(마이그레이션)

김민재·2025년 4월 20일

typeorm

목록 보기
8/8

🧾 마이그레이션

  • 테이블 생성/수정/삭제 같은 스키마 변경사항을 기록하는 파일

  • 여러 개발자/환경에서 DB 구조를 일관되게 유지

  • git처럼 "어떤 구조가 언제 변경되었는지 추적 가능"

typeorm에서 sync: true로 설정하면 자동으로 데이터베이스 구조가 변경되었다.

🧴 sync 옵션이 있지만 마이그레이션이 필요한 이유

  1. Controlled Changes: 원하는 상황에 원하는 형태로 마이그레이션을 자유롭게 실행할 수 있다.

  2. Reversible: 진행한 마이그레이션을 되돌릴 수 있다.

  3. Versioning: 마이그레이션은 스키마 변경에 대한 히스토리를 담고 있다. 디버깅에 매우 유용하다.

  4. Consistency: 다양한 환경에서 데이터베이스 스키마가 같게 유지되도록 할 수 있다.

  5. Complex Changes: 복잡한 데이터베이스의 변화를 직접 컨트롤 할 수 있다.

📲 Migration CLI Command

  1. Migration 파일 생성하기:

    npx typeorm migration:generate -n (MigrationName)

  2. Migration 실행하기

    npx typeorm migration:run

  3. Migration 되돌리기

    npx typeorm migration:revert

공식문서: https://orkhan.gitbook.io/typeorm/docs/migrations

profile
개발 경험치 쌓는 곳

0개의 댓글