[파이썬] SQLAlchemy Migrate와의 통합

SQLAlchemy Migrate는 Python에서 데이터베이스 마이그레이션을 관리하기 위한 도구입니다. 데이터베이스 스키마를 변경해야 할 때, SQLAlchemy Migrate를 사용하면 쉽고 안전하게 마이그레이션 작업을 수행할 수 있습니다. 이 글에서는 SQLAlchemy Migrate와 Python을 함께 사용하는 방법에 대해 살펴보겠습니다.

SQLAlchemy Migrate 설치

SQLAlchemy Migrate는 PyPI에서 설치할 수 있습니다. 다음 명령어를 사용하여 설치합니다:

pip install SQLAlchemy-Migrate

SQLAlchemy 모델 생성

우선 SQLAlchemy로 데이터베이스 모델을 정의해야 합니다. 예를 들어, 사용자 정보를 저장하는 모델을 만들어 보겠습니다:

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'
    
    id = Column(Integer, primary_key=True)
    username = Column(String(50), unique=True)
    email = Column(String(100), unique=True)
    password = Column(String(100))

위의 코드에서는 User 클래스를 정의하고 users 데이터베이스 테이블과 매핑합니다. 각 필드는 Column 객체로 표현되며, 데이터 타입과 속성을 지정할 수 있습니다.

데이터베이스 마이그레이션 작업

이제 데이터베이스 마이그레이션 작업을 할 차례입니다. SQLAlchemy Migrate를 사용하면 코드 기반으로 마이그레이션 스크립트를 생성하고 실행할 수 있습니다.

마이그레이션 스크립트 생성

데이터베이스 마이그레이션 스크립트를 생성하려면 다음 명령어를 실행합니다:

alembic init my_migration

위 명령어를 실행하면 my_migration 디렉토리가 생성되고, 그 안에 마이그레이션 관련 파일과 폴더가 생성됩니다.

데이터베이스 마이그레이션

마이그레이션 스크립트가 준비되었다면, 다음 명령어로 데이터베이스 마이그레이션을 수행할 수 있습니다:

alembic upgrade head

위 명령어를 실행하면 최신 버전의 마이그레이션 스크립트가 자동으로 실행되어 데이터베이스 스키마가 변경됩니다.

마무리

SQLAlchemy Migrate를 사용하면 Python에서 데이터베이스 마이그레이션을 쉽게 관리할 수 있습니다. SQLAlchemy 모델을 정의하고 마이그레이션 스크립트를 생성하여 데이터베이스 스키마를 변경할 수 있습니다. SQLAlchemy Migrate는 신뢰할 수 있는 마이그레이션 작업을 수행하기 위한 다양한 기능을 제공합니다.

참고자료: