2012-04-22 5 views
3

로컬 서버에서 south를 사용하여 데이터베이스를 성공적으로 동기화했습니다. Heroku에서 남쪽을 사용하는 데 문제가 있습니다. 내가 달릴 때Heroku에서 South 마이그레이션 사용

git add app/migrations/* 

git commit -m 'adding new migrations' 

heroku run python manage.py migrate app 

나는 DatabaseError를 얻고있다. 관계 필드가 이미 있습니다.

이것이 작동하지 않는 이유는 무엇입니까? 또한 내 모델 중 하나가 변경 될 때마다 로컬로 또는 프로덕션 환경에서 마이그레이션을 실행해야합니까? 읽어 주셔서 감사합니다.

답변

6

이미 해당 응용 프로그램의 데이터베이스에 필드가있는 것으로 보입니다.

 
heroku run python manage.py migrate app --fake 
+0

감사합니다. 나중에 참조 할 수 있도록 다음 번에 로컬 및 프로덕션 환경에서 마이 그 레이션을 실행해야합니까? – Zach

1

을 실행하여 마이그레이션을 꾀하려고하는 것은 Heroku가에 이렇게 :

Heroku가 실행 파이썬은 YOUR_APP_NAME 0001 다음

Heroku가 실행 파이썬 manage.py의 마이그레이션

을 --fake 마이그레이션 manage.py를 YOUR_APP

나를 위해 해결했습니다. migrate를 실행하면 south가 초기 마이그레이션을 실행하려고하는 몇 가지 이유로 오류가 발생합니다. 그래서 나는 그 하나를 속여서, 최초의 실제 마이그레이션 (0002)을 실행 한 후 잘 작동했습니다.

관련 문제