Flask-RESTful은 Flask 프레임워크를 기반으로 한 RESTful API를 쉽게 개발할 수 있도록 도와주는 라이브러리입니다. 데이터베이스 마이그레이션은 데이터베이스 스키마의 변경을 관리하는 작업으로, Flask-RESTful에서 데이터베이스 마이그레이션을 수행하는 방법을 알아보겠습니다.
Flask-Migrate 설치
먼저, Flask-Migrate를 설치해야 합니다. Flask-Migrate는 SQLAlchemy를 사용하여 데이터베이스 스키마 변경을 관리하는 도구입니다. 아래의 명령을 사용하여 Flask-Migrate를 설치해주세요.
pip install Flask-Migrate
데이터베이스 초기화
Flask-RESTful에서 데이터베이스 마이그레이션을 수행하기 전에 데이터베이스를 초기화해야 합니다. 데이터베이스 초기화를 위해서는 SQLAlchemy에서 제공하는 db.create_all()
함수를 사용합니다. 아래의 코드는 Flask-RESTful 애플리케이션에서 데이터베이스를 초기화하는 예시입니다.
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
db = SQLAlchemy(app)
# 데이터베이스 모델 정의
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(50), unique=True)
db.create_all() # 데이터베이스 초기화
위의 코드에서 User
클래스는 데이터베이스의 테이블을 정의하는 모델입니다. db.create_all()
함수를 호출하여 데이터베이스를 초기화합니다. SQLALCHEMY_DATABASE_URI
설정값에는 데이터베이스의 종류 및 연결 정보를 입력해야 합니다.
데이터베이스 마이그레이션
데이터베이스를 초기화한 후에는 스키마 변경을 관리하기 위해 데이터베이스 마이그레이션을 설정해야 합니다. Flask-Migrate는 데이터베이스 마이그레이션을 위한 migrate
명령을 제공합니다. 아래의 명령을 사용하여 데이터베이스 마이그레이션을 설정합니다.
flask db init
위의 명령을 실행하면 migrations
폴더가 생성되며, 데이터베이스 마이그레이션에 필요한 파일들이 생성됩니다.
다음으로, 데이터베이스 마이그레이션의 첫 번째 버전을 생성합니다. 아래의 명령을 사용하세요.
flask db migrate -m "Initial migration"
위의 명령을 실행하면 migrations
폴더 내에 데이터베이스 마이그레이션을 위한 스크립트 파일이 생성됩니다. -m
옵션을 사용하여 마이그레이션 메시지를 작성할 수 있습니다.
마지막으로, 마이그레이션을 적용하여 데이터베이스 스키마를 변경합니다. 아래의 명령을 사용하세요.
flask db upgrade
위의 명령을 실행하면 migrations
폴더 내의 스크립트 파일이 실행되며, 데이터베이스 스키마가 변경됩니다.
마무리
Flask-RESTful에서 데이터베이스 마이그레이션을 수행하는 방법에 대해 알아보았습니다. Flask-Migrate를 사용하여 데이터베이스 초기화 및 마이그레이션을 쉽게 관리할 수 있습니다. 자세한 내용은 Flask-Migrate 공식 문서를 참고하시기 바랍니다.