1

我将 Django 与 MySQL 和 South 一起使用,一切都很花哨……直到迁移出现问题。然后我得到一个经常损坏或破坏我的数据库的错误,并且沿着这条线给了我:

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

我所有的数据库表都是 InnoDB,据我所知,它支持事务。我必须做些什么才能让 South 在其迁移中使用事务?

4

1 回答 1

5

错误消息的重点是当您更改模式时MySQL不支持事务。MySQL 仅在您创建/更新/选择数据时支持事务。仔细阅读South 网站上 Database-Specific Issues 部分关于 MySQL 的内容。

如果您确实想使用模型迁移,您可以切换到 PostgreSQL,这对您使用 Django 是完全透明的。唯一的变化是settings.py数据库部分(当然还有 PostgreSQL 安装)。

于 2012-05-06T20:39:52.880 回答