迁移期间的 django-south 错误

django-south Error during migrate

当我尝试使用 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 语句引起的,或者可能还有其他 errors.I 无法弄清楚。

如果 django 版本 < 1.7

python manage.py migrate yourapp --fake

其他

python manage.py migrate --fake

--fake:将迁移序列记录为已应用,但实际上并未运行。 -> more