Ich habe eine Docker Django/PostgreSQL App genau nach der Django Quick Start instructions on the Docker site eingerichtet.Wie führen Sie Django-Datenbankmigrationen bei Verwendung von Docker-Compose durch?
Das erste Mal, wenn ich Djangos manage.py migrieren, mit dem Befehl sudo docker-compose run web python manage.py migrate
, funktioniert es wie erwartet. Die Datenbank ist in den Docker PostgreSQL Container eingebaut.
Änderungen, die an der Django-App selbst vorgenommen werden, spiegeln sich ebenfalls im Docker-Django-Container wider, sobald ich sie speichere. Es ist großartig!
Aber wenn ich dann ein Modell in Django ändern und versuchen, die Postgres-Datenbank auf das Modell zu aktualisieren, werden keine Änderungen festgestellt, so dass keine Migration passiert, egal wie oft ich makemigrations
oder migrate
erneut ausführen.
Grundsätzlich muss ich jedes Mal, wenn ich das Django-Modell ändere, die Docker-Container löschen (mit sudo docker-compose rm
) und neu mit einer neuen Migration beginnen.
Ich versuche immer noch, meinen Kopf um Docker zu bekommen, und es gibt eine Menge, die ich nicht verstehe, wie es funktioniert, aber dieser macht mich verrückt. Warum migriert meine Änderungen nicht? Was mache ich falsch?
Haben Sie herausfinden, warum? Ich bekomme die Antwort unten und es funktioniert: 'Sie müssen sich nur in Ihren laufenden Docker-Container einloggen und Ihre Befehle ausführen.aber was ist der Grund dafür, dass es sich so verhä[email protected] – lukik