当我尝试使用south在django中迁移时,我收到以下错误。
Running migrations for sites:
- Migrating forwards to 0004_initial.
> sites:0002_initial
FATAL ERROR - The following SQL query failed: CREATE TABLE `django_site` (`id`
nteger AUTO_INCREMENT NOT NULL PRIMARY KEY, `domain` varchar(100) NOT NULL, `na
e` varchar(50) NOT NULL)
The error was: (1050, "Table 'django_site' already exists")
! Error found during real run of migration! Aborting.
! Since you have a database that does not support running
! schema-altering statements in transactions, we have had
! to leave it in an interim state between migrations.
! You *might* be able to recover with: = DROP TABLE `django_site` CASCADE; []
! The South developers regret this has happened, and would
! like to gently persuade you to consider a slightly
! easier-to-deal-with DBMS (one that supports DDL transactions)
! NOTE: The error which caused the migration to fail is further up.
Error in migration: sites:0002_initial
Traceback (most recent call last):
File "manage.py", line 10, in <module>
.............
django.db.utils.OperationalError: (1050, "Table 'django_site' already exists")
类似的问题也是开放的here。对此有什么解决方案吗?该错误似乎是由于github问题中讨论的Create table语句,或者可能存在其他错误。我无法弄明白。
答案 0 :(得分:1)
如果django版本&lt; 1.7
python manage.py migrate yourapp --fake
否则
python manage.py migrate --fake
- fake:将迁移序列记录为已应用,但实际上并未运行它。 - &GT; more