0

正如标题所说,我想在运行测试时应用 DATABASE_OPTIONS 设置./manage.py test。在和django/db/backends/creation.py中,它根本不考虑这个选项。create_test_db()_create_test_db()

这打破了一个使用transaction.rollbackInnoDB 函数的视图的测试。似乎测试数据库不是使用 InnoDB 存储引擎创建的。

是否有任何解决方法或解决此问题的方法?

4

2 回答 2

0

一种解决方法可能是将服务器上的默认存储引擎设置为 InnoDB。

在 my.cnf 中:

set default_storage_engine=InnoDB

除非 django 明确选择 MyISAM,否则这应该有效。

于 2009-07-01T06:48:05.457 回答
0

我自己找到了原因。我必须使用 TransactionTestCase 而不是普通的 TestCase 基类。请参阅文档。

于 2009-07-01T08:37:33.693 回答