Rollback der letzten Datenbankmigration in Django

Vaibhav Vaibhav 10 August 2021
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.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Django Migration