도구 선택 기준
마이그레이션 도구의 핵심 차이는 DB 변경을 어떤 형태로 기록하느냐입니다.

목표는 모두 같지만, 기준점이 SQL인지, 선언형 변경셋인지, ORM 모델·언어 코드인지에 따라 리뷰 방식과 운영 감각이 달라집니다.

분류

SQL 우선

DB에 적용할 문장을 직접 버전 파일로 관리

선언형 변경셋

변경 의도를 구조화된 형식으로 기록

ORM · 코드 중심

애플리케이션 모델이나 언어 코드에서 변화 시작

대표 도구
Flyway
Liquibase
Prisma Migrate TypeORM Alembic Django
변경을 적는 기준
실행할 SQL 자체

테이블 생성, 컬럼 추가 같은 실제 문장을 사람이 통제합니다.

changeSet 문서

XML, YAML, JSON으로 변경 단위와 메타데이터를 함께 선언합니다.

모델 diff 또는 코드

ORM 스키마 변화나 Python·TypeScript 코드가 마이그레이션 초안의 출발점이 됩니다.

운영 감각
세밀한 DB 통제

SQL 리뷰와 배포 순서를 직접 관리할 때 가장 직관적입니다.

정책과 추적성 강화

변경 단위, 롤백, 설명 정보까지 한 묶음으로 남기기 쉽습니다.

개발 흐름과 밀착

앱 모델 변경에서 DB 변경을 이어가기 쉬워 프레임워크 친화적입니다.

잘 맞는 팀
SQL이 운영의 기준일 때

DBA 리뷰, 수동 튜닝, 명시적 변경 제어가 중요한 환경

범용 규칙을 강하게 두고 싶을 때

여러 DB나 복잡한 변경 이력을 구조적으로 관리하려는 팀

ORM이 개발의 중심일 때

애플리케이션 모델과 스키마 진화를 함께 다루는 팀

읽는 법: 이 표는 “무슨 도구가 더 좋다”보다 “어디에서 변경을 시작하느냐”를 구분합니다. 그래서 다음 비교에서 Flyway와 Liquibase는 둘 다 범용 도구이지만, SQL 중심과 변경셋 중심이라는 차이가 핵심 축이 됩니다.