我收到类似 django.db.utils.OperationalError: (1050, "Table 'someTable'已经存在") 的错误
我想知道出现这种类型错误的原因。
我在终端上运行了以下命令
1. python manage.py makemigration app
2. python manage.py migrate app
当运行迁移时出现上述错误。 我通过运行解决了我的问题
python manage.py migrate --fake app
但我想知道为什么会出现此错误,以及 --fake app
如何解决我的问题。谢谢
最佳答案
表“someTable”已存在于您的数据库中 - 要么是因为它是通过之前调用 ./manage.pysyncdb
创建的,要么是因为您手动创建了它(或者您之前使用过 South)正在切换到 Django >= 1.7) - 并且您显然没有任何现有的 django (非南) 迁移,因此 makemigration
认为必须创建该表(正确的是,一旦确实会从头开始安装您的应用程序的人的情况)。
使用 --fake
标志告诉 migrate
命令仅记录已应用的迁移,而不是有效应用它,这就是该标志的全部意义:您的应用程序已安装(数据库表等)而无需迁移,并且您想要开始使用迁移。
关于python - 为什么会出现此错误 "django.db.utils.OperationalError: (1050, "表 'someTable' 已存在")",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37315727/