python model 데이터 변경 후에,
1. pull 한 뒤
python manage.py db migrate
python manage.py db upgrade
2. 만약 에러 나면, 사용하는 DB에서 alembic_version 테이블 !만! drop한다음 migration 폴더도 삭제해 주어야 한다.
그리고 나서
python manage.py db init
python manage.py db migrate
python manage.py db upgrade
해보세용(https://stackoverflow.com/questions/57758213/unable-to-find-source-of-error-root-error-cant-locate-revision-identified-b)
마이그레이션 관련 알게된 것) nodejs처럼 https://blog.outsider.ne.kr/1143 에서 나와있는 것 처럼 Alembic을 사용해서 alembic revision -m "create user table[마이그레이션 명]"을 하면
"""create user table[마이그레이션 명]
Revision ID: 2987e9c41e5e
Revises: Create Date: 2015-05-10 22:10:18.235580 """
# revision identifiers, used by Alembic.
revision = '2987e9c41e5e' down_revision = None branch_labels = None depends_on = None from alembic
import op import sqlalchemy as sa
def upgrade():
pass
def downgrade():
pass
이런 폴더가 생성이 되어서 직접 어떤걸 upgrade하고, downgrade할 건지를 pass자리에 적어주는 방법이 있다고 한다.
그런데 그냥 먼저 model 파일 코드를 원하는대로 수정하고
python manage.py db migrate
하면
위의 파일이 생성되고 upgrade에 수정된 내용, downgrade에 수정전 내용이 자동으로 기입되어져 만들어지는 것
그리고
python manage.py db upgrade하시면 자동으로 DB 반영
'TIL(Today I Learned)' 카테고리의 다른 글
201204_TIL (0) | 2020.12.04 |
---|---|
201203_TIL (0) | 2020.12.03 |
20201130_TIL (0) | 2020.11.30 |
20201125_TIL (0) | 2020.11.25 |
20201124_TIL_디버깅!!! (0) | 2020.11.24 |