on
대상 데이터베이스가 최신 상태가 아닙니다.
대상 데이터베이스가 최신 상태가 아닙니다.
대상 데이터베이스가 최신 상태가 아닙니다.
Flask 앱을 마이그레이션하고 싶습니다. 저는 Alembic을 사용하고 있습니다.
그러나 다음과 같은 오류가 발생합니다.
Target database is not up to date.
온라인에서 이것과 관련이 있다고 읽었습니다. http://alembic.zzzcomputing.com/en/latest/cookbook.html#building-an-up-to-date-database-from-scratch
불행히도 데이터베이스를 최신 상태로 유지하는 방법과 링크에 제공된 코드를 어디에 / 어떻게 작성해야하는지 잘 모르겠습니다. 마이그레이션 경험이 있으시면 설명해 주시겠습니까?
감사
수동으로 또는으로 마이그레이션을 만든 후를 사용하여 --autogenerate 적용해야합니다 alembic upgrade head . db.create_all() 셸에서 사용한 경우를 사용 alembic stamp head 하여 데이터베이스의 현재 상태가 모든 마이그레이션의 응용 프로그램을 나타냄을 나타낼 수 있습니다 .
내 공부는이 질문과 같습니다. "./manage.py db migrate -m 'Add relationship'"을 실행하면 "alembic.util.exc.CommandError : 대상 데이터베이스가 최신 상태가 아닙니다."와 같은 오류가 발생합니다.
그래서 마이그레이션 상태를 확인했습니다.
(venv) ]#./manage.py db heads d996b44eca57 (head) (venv) ]#./manage.py db current INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. 715f79abbd75
머리와 전류가 다르다는 것을 발견했습니다!
이 단계를 수행하여 수정했습니다.
(venv)]#./manage.py db stamp heads INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision 715f79abbd75 -> d996b44eca57
그리고 이제 전류는 머리와 동일합니다.
(venv) ]#./manage.py db current INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. d996b44eca57 (head)
이제 마이그레이션을 다시 수행 할 수 있습니다.
어떤 이유로 마이그레이션 파일 중 일부를 삭제해야했습니다. 이유가 확실하지 않습니다. 그러나 그것은 문제를 해결했습니다.
한 가지 문제는 데이터베이스가 모든 새 테이블 등으로 제대로 업데이트되지만 자동 마이그레이션을 사용할 때 마이그레이션 파일 자체에 변경 사항이 표시되지 않는다는 것입니다.
누군가가 더 나은 솔루션을 가지고 있다면 지금 내 솔루션이 일종의 해키이므로 알려주십시오.
이 오류를 수정하려면 최신 마이그레이션 파일 (python 파일)을 삭제 한 다음 새로 마이그레이션을 수행하십시오.
db upgrade 명령을 실행하기 전에 모든 테이블을 삭제하십시오.
이를 해결하기 위해 마이그레이션중인 테이블을 삭제 (삭제)하고 다음 명령을 실행합니다.
flask db migrate
과
flask db upgrade
참조 URL : https://stackoverflow.com/questions/17768940/target-database-is-not-up-to-date
from http://cyworld.tistory.com/968 by ccl(A) rewrite - 2021-04-05 21:26:14