Ho installato un'applicazione Docker Django/PostgreSQL seguendo attentamente lo Django Quick Start instructions on the Docker site.Come si eseguono le migrazioni del database Django quando si utilizza Docker-Compose?
La prima volta che eseguo la migrazione di manage.py di Django, utilizzando il comando sudo docker-compose run web python manage.py migrate
, funziona come previsto. Il database è integrato nel contenitore Docker PostgreSQL.
Le modifiche apportate all'applicazione Django si riflettono anche nel contenitore Docker Django, nel momento in cui le salvo. È ottimo!
Ma se poi cambiare un modello di Django, e cerco di aggiornare le Postgres del database in modo che corrisponda al modello, non si rilevano variazioni in modo da nessuna migrazione accade non importa quante volte ho eseguito makemigrations
o migrate
di nuovo.
Fondamentalmente, ogni volta che cambio il modello Django, devo cancellare i contenitori Docker (usando sudo docker-compose rm
) e ricominciare da capo con una nuova migrazione.
Sto ancora cercando di capire la Docker, e c'è un sacco di cose che non capisco come funziona, ma questo mi sta facendo impazzire. Perché la migrazione non vede le mie modifiche? Che cosa sto facendo di sbagliato?
Hai capire perché? Ottengo la risposta qui sotto e funziona: 'Devi solo accedere al tuo contenitore mobile docker ed eseguire i tuoi comandi. Ma qual è la ragione per cui si comporta in questo [email protected] – lukik