삽질기록 — Flask-Postgresql ORM 적용

Youngwoo Lee
3 min readSep 17, 2020

--

저번 포스팅에서는 Flask와 PostgreSQL을 연동시켰고, 이번에는 ORM을 적용시키려 한다.

우선 ORM은 Object Relational Mapping이다. 객체 관계 매핑인데, 이름 그대로 객체와 관계되는 데이터베이스의 데이터를 매핑해 주는 것을 말한다. 이것은 객체 지향적인 코드이기 때문에 많은 장점들이 있는데, 혹시 궁금하다면 아래 페이지에서 확인하길 바란다.

그럼, 시작하기 전에 모듈 먼저 설치해 주자.

$ pip install flask-sqlalchemy
$ pip install Flask-Migrate

flask-sqlalchemy는 flask에서 SQLAlchemy(객체 관계형 맵퍼)를 사용하기 좋게 해 줄 flask 확장 모듈이다.

flask-migrate는 데이터 마이그레이션을 처리해 주는 모듈이다.

설정값을 파일로 따로 설정해 줄 것이기 때문에, config.ini 파일을 추가해 준 후, 그 안에 sql url을 넣어 줬다.

그리고, app.py를 작성해 준다.

configparser로 config.ini 파일을 불러온 후, 해당 파일에 설정해 준 database uri를 플라스크의 db uri로 설정해 준 것이다.

flask run을 한 후 postman 등으로 테스트를 하면 접속이 잘 되는 것을 확인할 수 있다.

이제 테이블과 매핑될 객체를 설정해 줄 것이다. models.py를 생성한 후 생성할 테이블에 따라 안의 내용을 설정한다.

이제 앱에 CRUD 구성을 할 것이다. (이번 포스팅에서는 C만 다룰 것임.)

migrate, models import와 create 부분 추가만 해 줬다. 위에서 만든 model을 app.py에 import 한 후, /add 라우트에다가 구현시켜 준 것이다.

테이블 매핑과 생성을 위해 migrate를 실행한다.

$ flask db init
$ flask db migrate
$ flask db upgrade

postman으로 테스트를 해 주면, 잘 실행되는 것을 확인할 수 있다.

끝이다….

이제 이것을 활용해서 회원가입과 로그인을 만들면 된다. 다음 포스팅은 회원가입으로…

--

--