Django를 주로 사용해오면서 Django에 내장된 마이그레이션 기능만을 사용해왔다
최근에 Flask로 작업을 하게 되면서 alembic이라는 DB 마이그레이션 도구를 접할 수 있게 되었다
alembic은 SQLAlchemy 단체에서 만든 마이그레이션 도구로 당연히 SQLAlchemy를 이용하여 관리를 할 수 있다
가장 인상깊은 점으로는 미리 SQLAlchemy로 ORM 정의를 하면
alembic upgrade head
와 같이 간단한 명령으로 마이그레이션을 할 수 있다는 것이다
Python과 SQLAlchemy를 간단히 알고 있다면 alembic을 익히기에 무리가 없을 것이다
행여나 두가지를 모두 모르더라도 부담 없이 빠르게 습득할 수 있을 것이라고 생각한다.
이번 글에서는 alembic을 설치하고, 세팅하는 방법에 대해 다뤄본다.
(Python 3.6으로 진행)
먼저 가상환경을 마련해준다
$ pip install virtualenv
$ mkdir my_folder
$ cd ./my_folder
$ python -m virtualenv venv
$ ls
venv
$ . ./venv/bin/activate
이제 alembic을 설치해보자
$ pip install alembic
설치가 완료되었다면 이제 가상 환경에선 alembic
커맨드를 사용할 수 있게 된다
아래 명령어를 통해 alembic의 로컬 프로젝트를 생성한다
$ alembic init practice
Creating directory /path/to/my_folder/practice...done
Creating directory /path/to/my_folder/practice/versions...done
Generating /path/to/my_folder/alembic.ini...done
Generating /path/to/my_folder/practice/env.py...done
Generating /path/to/my_folder/practice/README...done
Generating /path/to/my_folder/practice/script.py.mako...done
Please edit configuration/connection/logging settings in
'/path/to/my_folder/alembic.ini' before proceeding.
나의 디렉토리 구조는 아래와 같은 상태가 되었다
- my_folder
- alembic.ini
- practice
- README
- env.py
- script.py.mako
- versions
- venv
practice라는 이름으로 폴더가 생기고 alembic.ini
파일이 생성됨을 확인할 수 있다
지금까지 DB migration 도구인 alembic의 설치와 세팅에 대해 진행하였으며
다음 게시물에서는 DB와의 연결을 위해 alembic.ini
를 수정하고 Migration Script를 작성하는 방법에 대해 다뤄본다.
이 글이 도움이 되셨다면 공감버튼 부탁드립니다
다음 글
'Back-end' 카테고리의 다른 글
WSL환경에서 Docker-compose 사용하기 (0) | 2020.04.26 |
---|---|
alembic을 이용해 DB 마이그레이션 하기 (2) (2) | 2020.03.18 |
카카오i 스킬서버 library 개발 기록 (0) | 2019.12.29 |
django-rest-framework에서 Token기반인증 사용 Views 작성(Functional based Views) (0) | 2019.12.06 |
Github Oauth App의 Authorization 처리 (0) | 2019.10.31 |
댓글