Django的南部(迁移工具)是否适用于innodb? [英] Does Django's south (migration tool) work for innodb?

查看:114
本文介绍了Django的南部(迁移工具)是否适用于innodb?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

$ 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.

由于某些原因,我尝试了这个。
但我的其他设置在MyISAM中。

For some reason I get this when I try it. But my other setups are in MyISAM.

为什么Innodb不起作用?

Why doesn't it work in Innodb?

推荐答案

InnoDB对外键具有约束,确保在进行迁移时不会破坏数据库模型。 (请参阅 http://dev.mysql.com /doc/refman/5.5/en/innodb-foreign-key-constraints.html

InnoDB has constraints on Foreign Keys which ensure you are not breaking the database model when doing a migration. (see http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html)

MyISAM没有对约束的本机支持(尽管似乎如果您选择做 http:/ /dev.mysql.com/tech-resources/articles/mysql-enforcing-foreign-keys.html

MyISAM does not have native support for constraints (although it seems you can implement this if you choose to do do http://dev.mysql.com/tech-resources/articles/mysql-enforcing-foreign-keys.html)

由于MyISAM没有检查您的FK关系,你没有得到错误。 InnoDB正在做一个支票,似乎您的迁移有问题。

Because MyISAM is not checking your FK relationships, you do not get the error. InnoDB however is doing a check and it seems that you have a problem with your migration.

这篇关于Django的南部(迁移工具)是否适用于innodb?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆