Django的南方(迁移工具)是否适用于innodb?

TIM*_*MEX 5 python django django-south

$ py manage.py  migrate turkey
Running migrations for turkey:
 - Migrating forwards to 0001_initial.
 > turkey:0001_initial
 ! 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 `turkey_demorecs` CASCADE; []

 ! The South developers regret this has happened, and would
 ! like to gently persuade you to consider a slightly
 ! easier-to-deal-with DBMS.
 ! NOTE: The error which caused the migration to fail is further up.
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我在尝试时得到了这个.但我的其他设置是在MyISAM中.

为什么它在Innodb不起作用?

Bre*_*ord 1

是的,South确实支持InnoDB。您可以删除“migrations”文件夹的内容,然后重新运行 schemamigration、迁移并在此处发布 0001_initial 文件的结果和内容吗?PS:首先确保您的迁移文件夹已备份或位于源代码管理中。

rm -fr app/migrations/*
./manage.py schemamigration app --initial
./manage.py migrate app
Run Code Online (Sandbox Code Playgroud)