Rollback der letzten Datenbankmigration in Django
Bei der Arbeit mit Django-Modellen müssen wir immer die Migrationsfunktion verwenden und migrieren, wenn wir die Modelle ändern. Es gibt bestimmte Situationen, in denen wir eine Migration rückgängig machen oder rückgängig machen müssen. Django macht es einfach, eine Migration rückgängig zu machen. Dieser Artikel zeigt Ihnen, wie Sie die letzte Datenbankmigration in Django-Projekten zurücksetzen können.
Rollback der Django-Migration mit dem Befehl migrate
Um eine Migration rückgängig zu machen, können wir den Befehl migrate
verwenden, den uns die Datei manage.py
von Django zur Verfügung stellt. Betrachten Sie eine Django-App System
und zwei Migrationsdateien im Ordner migrations
dieser Anwendung. Lassen Sie die beiden Migrationsdateien 0005_second_last_migration
und 0006_last_migration
sein; Beachten Sie, dass 0006 die neueste Migration ist, die angewendet wurde.
Wenn wir von der 0006-Migration zur 0005-Migration zurückkehren müssen, führen wir den folgenden Befehl aus:
python manage.py migrate System 0005
--- OR ---
python manage.py migrate System 0005_second_last_migration
Es ist notwendig, den Anwendungsnamen anzugeben, und wir können sowohl die Migrationsnummer als auch den Dateinamen verwenden, um eine Migration rückgängig zu machen.
Wenn wir alle Migrationen dieser Django-Anwendung System
rückgängig machen müssen, verwenden wir den folgenden Befehl:
python manage.py migrate System zero
Denken Sie daran, dass eine Migration manchmal irreversibel sein kann. Im Allgemeinen tritt diese Bedingung auf, wenn einige wesentliche Änderungen an den Django-Modellen vorgenommen wurden. Wenn wir versuchen, zu einer solchen Migration zurückzukehren, wird Django einen IrreversibleError
melden.