2014-09-19 54 views
39

我想申请迁移,但我得到的错误:的Django 1.7迁移获取错误“表已经存在”

django.db.utils.OperationalError: (1050, "Table 'customers_customer' already exists")

我发出以下命令来获得这些:

python manage.py migrate 

我客户表已经存在,那么我该如何让迁移知道这一点,而不是出错,并对我的模型运行我的修改?

我用本地数据库在本地环境中运行这个没有问题。这是当我指出我的数据库生产和运行migrate以上,我得到这个错误。

+0

一个问题 - 如果你不使用Django的迁移,而不是南Django的1.7? – karthikr 2014-09-19 01:18:32

+0

该错误是django迁移错误。 – 2014-09-19 01:21:40

+0

@karthikr我正在使用Django迁移。我在这个问题上使用了南方标签,因为我认为该社区中的某个人可能知道答案。 – Atma 2014-09-19 01:55:59

回答

78

如果在数据库中创建表,你可以运行

python manage.py migrate --fake <appname> 

马克迁移的运行,而无需实际运行当中

或者,如果你想避免在迁移一些动作,您可以编辑app/migrations目录下的迁移文件,并评论您不想在迁移执行中执行的操作。

文档:https://docs.djangoproject.com/en/1.8/topics/migrations/#upgrading-from-southpython manage.py help migrate

+7

该命令实际上是python manage.py migrate --fake Atma 2014-09-19 20:45:28

+0

是的,我的错误,我忘了.py – elmonkeylp 2014-09-19 20:46:55

+0

请问您是否可以检查您的帖子上的最后编辑是否属于您的意思? – bummi 2014-12-02 23:17:02

12

它实际上python manage.py migrate --fake <appname>