在Heroku上使用South迁移

问题描述:

我已经在本地服务器上成功地使用南部数据库同步了我的数据库。我在Heroku使用南方时遇到问题。当我跑在Heroku上使用South迁移

git add app/migrations/* 

git commit -m 'adding new migrations' 

heroku run python manage.py migrate app 

我得到一个DatabaseError。关系字段已经存在。

任何想法为什么这不起作用?另外,每次我的某个模型更改时,是否需要在本地和生产环境中运行迁移?谢谢阅读。

它似乎你已经在你的数据库中为该应用程序的字段。试图通过运行

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

谢谢。因此,为了将来的参考,下次我需要在本地和生产(Heroku)环境中运行迁移吗? – Zach 2012-04-22 20:41:30

伪造的迁移做到这一点在Heroku:

Heroku的执行python manage.py迁移YOUR_APP_NAME 0001 --fake

然后

Heroku的执行python manage.py迁移YOUR_APP

为我解决了它。只是运行迁移会给出错误,因为南方也会尝试运行初始迁移。所以我伪造了那个,并且运行第一次实际迁移(0002)之后正常工作。