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
'SW Engineering > BE' 카테고리의 다른 글
카카오 소셜로그인_OAuth 2.0(python_flask) (5) | 2020.11.27 |
---|---|
소셜로그인 구현하기(Express.js / github social login) (0) | 2020.11.27 |
Flask 서버구축하기_DB 설정하기(feat.Mysql/SQLAlchemy) (0) | 2020.11.20 |
Flask로 서버 모듈 구축하기_파일분리하기(feat. blueprint / flask-restx) (2) | 2020.11.20 |
Flask 서버_JWT활용한 인증기능 (0) | 2020.11.19 |