我已经在本地服务器上使用 south 成功同步了我的数据库。我在 Heroku 中使用 south 时遇到问题。当我跑
git add app/migrations/*
git commit -m 'adding new migrations'
heroku run python manage.py migrate app
我收到一个数据库错误。关系字段已存在。
任何想法为什么这不起作用?此外,每次我的模型之一发生更改时,我是否需要在本地和生产环境中运行迁移?谢谢阅读。
我已经在本地服务器上使用 south 成功同步了我的数据库。我在 Heroku 中使用 south 时遇到问题。当我跑
git add app/migrations/*
git commit -m 'adding new migrations'
heroku run python manage.py migrate app
我收到一个数据库错误。关系字段已存在。
任何想法为什么这不起作用?此外,每次我的模型之一发生更改时,我是否需要在本地和生产环境中运行迁移?谢谢阅读。
看来您的数据库中已经有该应用程序的字段。尝试通过运行来伪造迁移
heroku run python manage.py migrate app --fake
在 Heroku 上执行此操作:
heroku run python manage.py migrate YOUR_APP_NAME 0001 --fake
然后
heroku 运行 python manage.py 迁移 YOUR_APP
为我解决了这个问题。只是运行 migrate 会出错,因为某种原因 south 也会尝试运行初始迁移。所以我伪造了那个,然后运行第一个实际迁移(0002)效果很好。