Question

Comme le dit le titre, je veux appliquer des paramètres de DATABASE_OPTIONS quand je lance mes tests via ./manage.py test. Dans django/db/backends/creation.py, il ne considère pas cette option du tout à la fois et create_test_db() _create_test_db().

Ce casse un test en vue qui utilise la fonction avec InnoDB transaction.rollback. Il semble que les bases de données de test ne sont pas créés avec le moteur de stockage InnoDB.

Y at-il ou solution de contournement à résoudre ce problème?

Était-ce utile?

La solution 2

J'ai trouvé la raison pour moi-même. Je dois utiliser TransactionTestCase au lieu de la classe de base de TestCase normale. Consultez la documentation.

Autres conseils

Une solution pourrait être de mettre le moteur de stockage par défaut sur votre serveur à InnoDB.

dans my.cnf:

set default_storage_engine=InnoDB

Cela devrait fonctionner à moins django est de choisir explicitement MyISAM.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top