이이 일련의 사건이며,alembic/flask-migrate를 사용하여 기존 데이터베이스를 이전하지 않은 경우 어떻게 추가합니까?
- 일 0 일어나고 : 내가 개발
- 은 1 일 내 응용 프로그램을 배포 : 나는
- 3 일 새 데이터베이스를 만들 : 내가 싶었 실현 내 기존 테이블에 새 행을 추가하십시오. 플라스크 - 마이그레이션을 발견했으며 데이터베이스를 마이그레이션하는 데이 데이터베이스를 사용하고 싶습니다.
현재 나는 일에 오전 3
방금 flask db init
, flask db migrate
및 flask db upgrade
전화 일 0부터 시작하는 경우 플라스크-마이그레이션 실행을하는 방법에 대한 문서화의 많음이있다.
그러나 내 경우에는 조금 다릅니다. 명령을 실행했고 마이그레이션의 첫 번째 버전은 입니다. 그런 다음 데이터베이스 스키마를 수정하고 새로운 마이그레이션을 생성했습니다. 이제 나의 최신 이주는 표에 새 행을 추가하는 1 행의 마이그레이션 만 있습니다.
내 마이그레이션 중 누구도 당신은 내가 복제한다면 하루 1
에 플라스크-마이그레이션 시작하면 나타나는 첫 번째 마이그레이션 있어야하는 데이터베이스를 만들 수있는 실제 스키마가없는 것을 깨달았 내 레포 처음부터 :
flask db migrate
은 alembic.util.exc.CommandError: Target database is not up to date.
이됩니다.
flask db upgrade
은 sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) relation "offer" does not exist
이됩니다.
이 문제를 해결하려면 어떻게해야합니까?
두 번째 'flask db migrate'를 실행하면'alembic.util.exc.CommandError : 대상 데이터베이스가 최신이 아닙니다 .'라는 메시지가 나타납니다. 데이터베이스를 최신 버전으로 업데이트하려면 먼저 장고 가짜 마이그레이션과 같은 작업이 필요합니까? –
당신이 맞습니다. 나는이 지침에서 한 걸음도 놓쳤습니다. 나는'db stamp head' 명령을 추가하여 게시물을 수정했습니다. – Miguel
많은 감사합니다! 그것은 나를 위해 모든 것을 정리했다. –