본문 바로가기
Programming/Python

[ Flask ] migrate 오류 해결

by 코뮤(commu) 2022. 7. 24.
728x90
반응형

언제 한번 블로그 포스팅도 전부 다 수정을 하긴 해야하는데,,, 애초에 새롭게 파는 것도 나쁘지 않아보인다.

우선 오늘은 앞으로 쌓인 일이 많으니 기록용으로 migrate 할때 나왔던 오류를 빠르게 수정해보겠다.

 

 

현재 에러코드는 아래와 같다.

 

 

ERROR [flask_migrate] Error: Target database is not up to date.

 

 

migrate 과정 중 위 에러를 발견했다.

 

플라스크 마이그레이트 깃헙을 뒤져보다 아래 이슈가 있었고,

해당 에러는 alembic_version 테이블이 삭제되었을 때 발생하는 것이라는 사실을 알아냈다!

 

이슈 답변에 이해를 못한 상태로 alembic_version table을 삭제하지 말라고 되어있고,

대신 history를 확인하여 현재 db에 반영되어있지 않은 버전의 migration 파일을 삭제하라고 권한다.

 

나 같은 경우에는 db 모델을 수정하는 과정 중 git reset 으로 이전 버전으로 돌아갔었고,

그 과정에서 현재 db 상태와  head 로 가리키는 migration 파일이 상이해 해당 에러를 접했다.

 

 

해결 방법은 아래와 같다.

 

 

flask db history

 

 

위 명령어를 통해 history를 확인하고, 현재 반영되지 않은 마이그레이션 파일을 삭제해준다.

 

flask db stamp head

그리고 stamp head 를 이용해 현재 리비전을 최종 리비전으로 설정한다.

 

 

그리고 새롭게 migrate를 하면 에러가 해결된다!

 

 

 

728x90
반응형