728x90

서버관련하여 데이터베이스에 대해 이야기하다보면 마이그레이션이란 이야기를 많이 들어보았을 것이다.

 

migration(마이그레이션)이란 무엇일까?

기존 단어의 의미는 이주라는 뜻이며, 즉 무언가를 변경할 때(대표적으로 운영환경을 변경할 때)를 의미한다.

그리고 우리가  알아보게 될 데이터 마이그레이션은 바로 데이터스키마 즉, 기존에 설정한 모델을 변경해야 하는 경우를 의미한다.

flask에서는 flask-migrate를 사용하면 된다.

 

1. flask-migrate 설치

1
2
#터미널
pip install flask-migrate
cs

2. flask-sqlAlchemy에서 모델 정의

-> 기존에 블로그에 이미 정리해 두었다.

 

3. 마이그레이션 object 생성

 -> 마이그레이션 관련 코드를 추가하자

1
2
3
4
5
6
7
8
9
10
11
12
13
# app/__init__.py
from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate -> 추가
 
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db) ->추가
 
# routes와 데이터베이스 구조 정의하는 models 호출
from app import routes, models
cs

4. 마이그레이션 저장소 생성

#터미널

flask db init

 

5. Mysql에 사용할 데이터베이스 생성 후 최초 마이그레이션 진행

  ->  Mysql에 사용할 데이터베이스 생성 create database medi;

  ->  최초 마이그레이션 진행 flask db migrate -m "first migration practice"

 

6. 마이그레이션 적용 및 데이터베이스 업그레이드

#터미널

flask db upgrade

728x90

+ Recent posts