300x250
반응형
SQLAlchemy : 플라스크 ORM 라이브러리 중 하나
Flask-Migrate : 파이썬 모델을 이용해 테이블 생성, 컬럼 추가 등 하게 해주는 라이브러리
* ORM이란? 2019.08.27 - [IT/자바] - ORM, JPA, Hibernate
설치
Flask-Migrate 설치하면 SQLAlchemy도 같이 설치됨
(myproject) C:\projects\myproject>pip install Flask-Migrate
Collecting Flask-Migrate
Downloading Flask_Migrate-3.0.0-py2.py3-none-any.whl (12 kB)
.
.
.
Successfully installed Flask-Migrate-3.0.0 Flask-SQLAlchemy-2.5.1 Mako-1.1.4 SQLAlchemy-1.4.15 alembic-1.6.2 greenlet-1.1.0 python-dateutil-2.8.1 python-editor-1.0.4 six-1.16.0
config.py 작성
import os
BASE_DIR = os.path.dirname(__file__)
SQLALCHEMY_DATABASE_URI = 'sqlite:///{}'.format(os.path.join(BASE_DIR, 'pybo.db'))
SQLALCHEMY_TRACK_MODIFICATIONS = False # 이벤트 처리 옵션
* sqlite는 파이썬 기본 패키지에 포함되어있음
pybo/__init__.py 파일 수정
from flask import ...
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
import config
db = SQLAlchemy()
migrate = Migrate()
def create_app():
app = ...
# config.py 항목을 app.config 환경 변수로
app.config.from_object(config)
# ORM 전역변수 초기화
db.init_app(app)
migrate.init_app(app, db)
# bp 객체 등록
...
return app
db 초기화
(myproject) C:\projects\myproject>flask db init
migrations 폴더 생성됨
* flask db init 명령어는 최초 한번만 수행됨
이후로는 모델을 생성/변경할 때 flask db migrate,
변경된 모델을 실제 db에 적용할 때 flask db updrade만 쓰면 됨
300x250
반응형
'IT > 파이썬' 카테고리의 다른 글
플라스크에서 ORM 사용하기 3 - db에서 데이터 가져오기 (0) | 2021.05.24 |
---|---|
플라스크에서 ORM 사용하기 2 - 모델 및 테이블 생성 (0) | 2021.05.23 |
플라스크 블루프린트 (0) | 2021.05.21 |
플라스크 서버 실행 세팅 (0) | 2021.05.21 |
파이참 인터프리터 설정 (가상환경) (0) | 2021.05.21 |