迁移到新服务器后,Django中的迁移错误

时间:2016-02-11 10:39:30

标签: python django postgresql django-migrations

我正在本地开发一个Django 1.8应用程序并且几天前达到某个点,我将应用程序上传到临时服务器,运行迁移,导入sql转储等等,一切都很好。

我已经恢复了本地开发,其中包括创建新模型,以及更改现有模型上的某些列。我成功地在本地运行了迁移,但在将我的文件rsync到登台服务器后,运行manage.py migrate时出现“关系已存在”错误。当我访问新模型的管理页面时,我得到一个“列不存在”错误。

似乎此模型的迁移部分成功,但我无法迁移整个模型架构。我试过评论部分迁移文件,但没有成功。是否可以通过psql创建缺少的列?或者是否有某种方法可以确定缺少的内容,然后手动编写迁移以创建缺少的数据库结构?

我正在使用Django 1.8.6,Python 3.4.3和PostgreSQL 9.3.6。对此的任何建议都会很棒。感谢。

1 个答案:

答案 0 :(得分:0)

尝试运行migrate --fake-initial,因为您收到“关系已存在”错误。如果做不到这一点,我会手动备份我的每个迁移文件夹,从服务器中删除它们,然后为每个应用重新生成迁移文件,并从头开始再次运行它们(即最初的makemigrations)。