Ho configurato un'app Docker Django / PostgreSQL seguendo da vicino le istruzioni Django Quick Start sul sito Docker .
La prima volta che eseguo il manage.py migrate di Django, usando il comando sudo docker-compose run web python manage.py migrate
, funziona come previsto. Il database è costruito all'interno del contenitore Docker PostgreSQL perfettamente.
Le modifiche apportate all'app Django stessa si riflettono allo stesso modo nel contenitore Docker Django, nel momento in cui le salvo. È ottimo!
Ma se poi cambio un modello in Django e provo ad aggiornare il database Postgres in modo che corrisponda al modello, non vengono rilevate modifiche, quindi non viene eseguita alcuna migrazione, indipendentemente da quante volte eseguo makemigrations
o di migrate
nuovo.
In sostanza, ogni volta che cambio il modello Django, devo eliminare i container Docker (utilizzando sudo docker-compose rm
) e ricominciare da capo con una nuova migrazione.
Sto ancora cercando di capire bene Docker, e ci sono molte cose che non capisco su come funziona, ma questo mi sta facendo impazzire. Perché la migrazione non vede le mie modifiche? Che cosa sto facendo di sbagliato?
You just have to log into your running docker container and run your commands.
ma qual è il motivo per cui si comporta in questo modo? @LouisBarranqueiro