728x90
Flask-Migrate란?
Flask-Migrate는 SQLAlchemy를 사용하는 Flask 애플리케이션에서 데이터베이스 스키마를 효과적으로 관리하기 위한 extension
Flask-Migrate는 Alembic이라는 데이터베이스 마이그레이션 툴을 내부적으로 사용
Flask 애플리케이션과의 원활한 통합을 제공하여 데이터베이스 마이그레이션을 더욱 편리하게 관리 가능
https://flask-migrate.readthedocs.io/en/latest/#why-use-flask-migrate-vs-alembic-directly
Flask-Migrate 사용법
설치
pip install Flask-Migrate
환경변수 설정
flask app 실행파일명이 app.py나 wsgi.py가 아닌 이상 환경변수(.env파일)에 flask app 실행파일명 설정 필수
FLASK_APP= "__run__.py"
마이그레이션 (alembic) 초기화
flask db init
마이그레이션 스크립트 생성
flask db migrate -m "Initial migration."
현재의 SQLAlchemy 모델과 데이터베이스 상태를 비교하여 마이그레이션 스크립트를 자동으로 생성
버전업 (DB에 스키마 변경사항 반영)
flask db upgrade [--sql] [--tag TAG] <revision>
# 데이터베이스를 업그레이드 revision주어지지 않으면 최신버전
버전 다운그레이드 (최초 버전으로)
flask db downgrade [--sql] [--tag TAG] <revision>
# 데이터베이스를 다운그레이드, revision이 주어지지 않으면 -1
728x90
'Python > Web' 카테고리의 다른 글
FastAPI 개발자가 직접 개발한 FastAPI backend alembic (1) | 2024.03.12 |
---|---|
Flask-Migrate 테이블 초기 데이터 관리 (0) | 2024.03.10 |
FastAPI 개발자가 직접 개발한 FastAPI backend pyproject.toml (0) | 2024.03.03 |
FastAPI 개발자가 직접 개발한 FastAPI backend 프로젝트 구조 (0) | 2024.03.03 |
WSGI와 ASGI 단순 비교 (0) | 2024.02.28 |