应用测试Django项目时DATABASE_OPTIONS(或使其使用InnoDB为MySQL)
-
21-08-2019 - |
题
正如标题所说,我想,当我通过./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。
不隶属于 StackOverflow