【问题标题】:django-south Error during migrate迁移期间的 django-south 错误
【发布时间】:2015-03-02 17:58:36
【问题描述】:

当我尝试使用南迁移到 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 语句引起的,或者可能存在其他错误。我无法弄清楚。

【问题讨论】:

  • 您是在“干净”的数据库上运行它吗? SQL错误告诉你已经有一个表django_site
  • 你看到链接了吗...是的,我在“干净”数据库上运行
  • 是的,我看到了链接。这不是同一个问题。您收到 SQL 错误“表 'django_site' 已存在”,因此由于某种原因该表已存在。

标签: python mysql django django-south


【解决方案1】:

如果 django 版本

python manage.py migrate yourapp --fake

其他

python manage.py migrate --fake

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

【讨论】:

    猜你喜欢
    • 2012-08-06
    • 2012-10-16
    • 2013-07-10
    • 1970-01-01
    • 2011-09-28
    • 2016-07-04
    • 2013-10-25
    • 2011-08-06
    • 2015-01-28
    相关资源
    最近更新 更多