正如标题所说,我想,当我通过./manage.py test运行我的测试应用DATABASE_OPTIONS设置。在django/db/backends/creation.py,它没有考虑在这两个create_test_db()_create_test_db()这一切的选项。

这打破与使用transaction.rollback功能与InnoDB的一个视图中的测试。看来,测试数据库不与InnoDB存储引擎创建。

有任何解决方法或固定到这个问题?

有帮助吗?

解决方案 2

我发现我自己的原因。我必须使用的,而不是正常的TestCase基类TransactionTestCase。 参见文档。

其他提示

一个解决办法可能是设置默认存储引擎你的服务器上的InnoDB。

在my.cnf:

set default_storage_engine=InnoDB

这应该工作,除非Django是明确地采摘的MyISAM。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top