[python] Flask를 사용하여 데이터베이스 마이그레이션 수행하기

데이터베이스 마이그레이션은 애플리케이션을 업데이트하거나 데이터베이스 스키마를 변경할 때 중요한 작업입니다. Flask 애플리케이션에서 데이터베이스 마이그레이션을 수행하기 위해 Flask-Migrate 확장을 사용할 수 있습니다.

Flask-Migrate 확장 설치

먼저, Flask-Migrate를 설치해야 합니다. 아래 명령을 사용하여 Flask-Migrate를 설치합니다.

pip install flask-migrate

데이터베이스 설정

Flask 애플리케이션에서 데이터베이스 설정을 완료합니다. SQLAlchemy를 사용하여 데이터베이스를 설정하는 예시는 다음과 같습니다.

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'your-database-uri'
db = SQLAlchemy(app)

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

마이그레이션 스크립트를 생성하기 위해 아래 명령을 실행합니다.

flask db init

이 명령은 데이터베이스 마이그레이션을 처리하는 데 필요한 파일과 디렉토리를 생성합니다.

모델 정의

데이터베이스 모델을 정의합니다. 모델은 SQLAlchemy 모델 클래스로 정의됩니다.

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

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

모델을 정의한 후, 마이그레이션 스크립트를 생성합니다.

flask db migrate -m "initial migration"

이 명령은 데이터베이스 스키마 변경을 반영하는 마이그레이션 스크립트를 생성합니다.

마이그레이션 수행

마지막으로 아래 명령을 사용하여 마이그레이션을 데이터베이스에 적용합니다.

flask db upgrade

이제 Flask 애플리케이션에 데이터베이스 마이그레이션이 성공적으로 적용되었습니다. 데이터베이스 스키마 변경 시마다 마이그레이션 스크립트를 생성하고 적용하여 데이터베이스를 업데이트할 수 있습니다.

위의 가이드는 Flask-Migrate를 사용하여 데이터베이스 마이그레이션을 수행하는 단계를 안내한 것입니다. 만약 코드에 오류가 발생하거나 추가 설명이 필요하다면 Flask-Migrate 공식 문서를 참조하시기 바랍니다.