/ / Django 1.7 nella tabella di memoria non esiste per i test unitari: django, unit test

Django 1.7 nella tabella di memoria non esiste per i test unitari: django, unit-test

Ho un'app che recentemente ho fatto una migrazione, incluso l'aggiunta di una nuova tabella. Vedo che la migrazione ha funzionato, la tabella è popolata, posso accedervi, ecc. Anche quando corro

python manage.py migrate my_app -l

Posso vedere la migrazione come se fosse stata eseguita correttamente.

Tuttavia quando eseguo i miei test unitari ottengo:

OperationalError: no such table: my_app_my_table

L'unica cosa che posso fare è che il database in memoria non sta eseguendo tutte le migrazioni? O non lo fa correttamente? Qualsiasi aiuto sarebbe molto apprezzato.

risposte:

0 per risposta № 1

Potrebbe essere il caso che le tue migrazioni non stiano effettivamente generando il codice SQL che hai inteso, e probabilmente vale la pena correre sqlmigrate sulle migrazioni specifiche per assicurarsi che stia generando il codice per creare la tabella.

Se il codice SQL sembra giusto, qualcosa di stranopotrebbe essere successo e Django pensa che tu abbia eseguito la migrazione, ma in realtà non ha cambiato il database: in tal caso, potresti provare a ripristinare una versione precedente del database ed eseguirne le migrazioni?