모델로 데이터 처리하기 - ORM

Red_Panda·2021년 3월 9일
0

원래 DB를 쓰려면 SQL 쿼리가 필요하다. 그러나 ORM이 있으면 파이썬 문법만으로도 DB를 다룰 수 있다.

ORM : object relational mapping, DB 데이터를 저장하는 테이블을 파이썬 클래스로 만들어 관리하는 기술. SQL문법을 파이썬 객체로 맵핑해 파이썬 객체의 인스턴스, 메소드를 통해 구현토록 함.

ORM 사용하기

Flask-Migrate 라이브러리를 설치하면 SQLAlchemy도 함께 설치된다.



이렇게 설치를 하고, 설정 파일을 추가하자.
루트 디렉토리에 config.py 파일을 생성하고 (C:/projects/myproject/config.py) 다음과 같이 코드를 작성하자.


pybo.py라는 DB파일을 프로젝트의 루트 디렉토리에 저장하려는 내용이다.

이제 pybo/__init__.py 파일을 수정해 SQLAlchemy를 적용할 수 있다.

db, migrate 객체를 create_app 함수 밖에서 생성해 주어야 다른 모듈에서 사용할 수 있다. 그래서 db, migrate를 create_app 밖에서 생성하고, 안에서 객체 초기화 시킨다.

(myproject) c:\projects\myproject>flask db init

위 명령어를 실행하면 이제 데이터베이스가 초기화 되고, migrations라는 디렉토리가 자동으로 생성되지만 냅두면 된다. 그리고 flask db init는 처음 1번만 실행하면 된다.

앞으로 모델을 추가하거나 변경할텐데 주로 사용할 명령어는 다음과 같다.

- flask db migrate : 모델을 생성하거나, 변경할 때
- flask db upgrade : 모델의 변경 내용을 실제 DB에 적용할 때

다음단계에는 모델을 만들어보자.

profile
신입 개발자

0개의 댓글