더북(TheBook)

 

SECTION 5.4 Alembic을 사용하여 데이터베이스 마이그레이션

데이터베이스 마이그레이션이란 여러 의미가 있지만, 여기에서는 SQLAlchemy ORM 모델의 변경 사항을 데이터베이스 테이블에 반영하는 작업을 의미합니다.

애플리케이션 개발 과정에서 데이터베이스 스키마(schema)는 계속 변합니다. 새로운 테이블을 추가하거나, 기존 테이블 구조를 변경하거나, 인덱스를 최적화하는 등 데이터베이스 스키마는 끊임없이 변화합니다. 문제는 이런 변화를 관리하고 일관성 있게 반영하는 것이지요. 변화가 누락되거나 순서가 잘못 적용되면 데이터베이스 테이블 상태가 의도하지 않은 형태가 되어 애플리케이션이 정상 동작하지 않거나, 불필요한 오류가 발생할 수 있습니다. 특히 데이터베이스는 대개 단일 장애점(single point of failure)이기 때문에 데이터베이스 문제는 서비스 전체 장애로 이어질 때가 많습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.