2017-09-26 5 views
2

내 응용 프로그램에서는 데이터베이스 마이그레이션을 위해 flask-script 및 flask-migrate를 사용하고 있으며 모든 것이 로컬로 작동합니다. 때, 그것은이 출력 생성heroku에서 Flask 데이터베이스 마이그레이션

heroku run python manage.py db init 

실행

Running python manage.py db init on ⬢ fpds-scheduler... up, run.1290 (Free) 
    Creating directory /app/migrations ... done 
    Creating directory /app/migrations/versions ... done 
    Generating /app/migrations/README ... done 
    Generating /app/migrations/script.py.mako ... done 
    Generating /app/migrations/alembic.ini ... done 
    Generating /app/migrations/env.py ... done 
    Please edit configuration/connection/logging settings in '/app/migrations/alembic.ini' before 
    proceeding. 

을하지만 heroku run python manage.py db migrate을 실행할 때 나는 heroku run bash을 실행하고 내가 할 수있는 내 디렉토리를 볼 때 나는 오류

alembic.util.exc.CommandError: Path doesn't exist: 'migrations'. Please use the 'init' command to create a new scripts folder. 

를 얻을 migrations 폴더가 없음을 확인하십시오.

ave는 명령을 내리고 --app fpds-scheduler 명령을 주려고했지만 그 중 하나가 작동하지 않는 것 같습니다.

무엇이 잘못 될지 잘 모르겠습니까?

답변

0

은 Heroku 자체에서 마이그레이션을 만들지 않아야합니다. 파일 시스템은 일시적이며 프로그램 적으로 작성된 것은 호출간에 손실됩니다.

로컬로 마이 그 레이션을 만들고, 버전 관리에 투입하고, 배포 한 다음 Heroku에서만 실행해야합니다.

+0

알겠습니다. – spitfiredd

+0

따라서 마이그레이션 경로를 로컬로 생성 한 다음 heroku에서 마이그레이션/업그레이드를 수행 하시겠습니까? – spitfiredd

+0

예,'heroku local db init'을 실행 한 다음 결과를 커밋합니다. –