Ich habe eine Docker Django / PostgreSQL-App eingerichtet, die den Anweisungen für den Django-Schnellstart auf der Docker-Site genau folgt .
Das erste Mal, wenn ich Djangos management.py migrate mit dem Befehl ausführe sudo docker-compose run web python manage.py migrate
, funktioniert es wie erwartet. Die Datenbank ist in den Docker PostgreSQL-Container integriert.
Änderungen an der Django-App selbst werden ebenfalls im Docker Django-Container angezeigt, sobald ich sie speichere. Es ist toll!
Wenn ich dann ein Modell in Django ändere und versuche, die Postgres-Datenbank so zu aktualisieren, dass sie mit dem Modell übereinstimmt, werden keine Änderungen erkannt, sodass keine Migration stattfindet, egal wie oft ich sie ausführe makemigrations
oder migrate
erneut.
Grundsätzlich muss ich jedes Mal, wenn ich das Django-Modell ändere, die Docker-Container löschen (mit sudo docker-compose rm
) und mit einer neuen Migration neu beginnen.
Ich versuche immer noch, mich mit Docker zu beschäftigen, und es gibt eine Menge, die ich nicht verstehe, wie es funktioniert, aber diese macht mich verrückt. Warum werden meine Änderungen bei der Migration nicht angezeigt? Was mache ich falsch?
You just have to log into your running docker container and run your commands.
Aber was ist der Grund, warum es sich so verhält? @ LouisBarranqueiro