使用Heroku进行南迁移

时间:2012-04-22 17:29:12

标签: python django heroku django-south

我已在本地服务器上使用south成功同步了我的数据库。我在Heroku中使用南方时遇到了问题。我跑的时候

git add app/migrations/*

git commit -m 'adding new migrations'

heroku run python manage.py migrate app

我收到了一个DatabaseError。关系字段已存在。

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

2 个答案:

答案 0 :(得分:6)

您似乎已经拥有该应用的数据库中的字段。尝试通过运行

伪造迁移
heroku run python manage.py migrate app --fake

答案 1 :(得分:1)

在Heroku上执行此操作:

heroku运行python manage.py迁移YOUR_APP_NAME 0001 --fake

然后

heroku运行python manage.py迁移YOUR_APP

为我解决了这个问题。只是运行迁移会产生错误,因为南方也会尝试运行初始迁移。所以我伪造了那个,并且运行第一次实际迁移(0002)之后运行良好。