我已在本地服务器上使用south成功同步了我的数据库。我在Heroku中使用南方时遇到了问题。我跑的时候
git add app/migrations/*
git commit -m 'adding new migrations'
heroku run python manage.py migrate app
我收到了一个DatabaseError。关系字段已存在。
为什么这不起作用的任何想法?此外,每次我的某个模型更改时,是否需要在本地和生产环境中运行迁移?谢谢你的阅读。
答案 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)之后运行良好。