Python/Today

Alembic

DGeon 2025. 8. 26. 09:20

DDL 중심으로
테이블 마이그레이션을 위함

특징 설명
데이터베이스 스키마 버전 관리 Git과 유사하게, 데이터베이스 스키마의 변경 이력(revision)을 파일로 관리하고 추적합니다.
DDL 중심 CREATE, ALTER, DROP 등 데이터베이스의 구조를 변경하는 DDL 명령을 다룹니다. 데이터(DML)는 관리하지 않습니다.
롤백 기능 downgrade 명령을 통해 특정 버전으로 쉽게 되돌릴 수 있어, 문제가 발생했을 때 신속한 복구가 가능합니다.
SQLAlchemy 연동 SQLAlchemy와 완벽하게 통합되어 ORM 모델을 기반으로 마이그레이션 스크립트를 자동 생성(--autogenerate)하는 기능을 제공합니다.
독립성 Alembic은 데이터베이스에 관계없이 작동하며, alembic.ini 파일에 데이터베이스 연결 정보를 설정하여 MySQL, PostgreSQL, SQLite, MariaDB 등 다양한 데이터베이스와 함께 사용할 수 있습니다.
협업 용이성 팀 프로젝트에서 여러 개발자가 동시에 스키마를 변경하고 동기화할 때 충돌을 최소화하고 효율적인 협업을 돕습니다.
자동 생성 테이블 마이그레이션 이력을 추적하기 위해 alembic_version이라는 테이블을 자동으로 생성하고 관리합니다.