/ / Django 1.7 dans la table mémoire n'existe pas pour les tests unitaires - django, unit-testing

Django 1.7 dans la table de mémoire n'existe pas pour les tests unitaires - django, unit-testing

J'ai une application pour laquelle j'ai récemment effectué une migration, qui comprenait l'ajout d'un nouveau tableau. Je peux voir que la migration a fonctionné, la table est remplie, je peux y accéder, etc. Même quand je cours

python manage.py migrate my_app -l

Je peux voir que la migration a été exécutée avec succès.

Cependant, lorsque je lance mes tests unitaires, je reçois:

OperationalError: no such table: my_app_my_table

La seule chose que je peux savoir, c'est que la base de données en mémoire n'exécute pas toutes les migrations. Ou ce n'est pas le faire correctement? Toute aide serait grandement appréciée.

Réponses:

0 pour la réponse № 1

Il se peut que vos migrations ne génèrent pas réellement le code SQL que vous vouliez et il vaut probablement la peine de s’exécuter. sqlmigrate sur les migrations spécifiques pour vous assurer qu’il génère du code pour créer la table.

Si le code SQL semble correct, quelque chose de bizarreCela aurait pu arriver et Django pense que vous avez exécuté la migration mais cela n’a pas réellement changé la base de données. Dans ce cas, vous pouvez essayer de restaurer une version plus ancienne de la base de données et d’exécuter les migrations dessus.