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 № 1Il 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.