Rollback dell'ultima migrazione del database in Django

Vaibhav Vaibhav 10 agosto 2021
Rollback dell'ultima migrazione del database in Django

Quando lavoriamo con Django Models, dobbiamo sempre utilizzare la funzione di migrazione e migrarla se cambiamo i modelli. Ci sono alcune situazioni in cui dobbiamo ripristinare o invertire una migrazione. Django semplifica il ripristino di una migrazione. Questo articolo ti mostrerà come eseguire il rollback dell’ultima migrazione del database nei progetti Django.

Eseguire il rollback della migrazione di Django utilizzando il comando migrate

Per ripristinare una migrazione, possiamo utilizzare il comando migrate che ci fornisce il file manage.py di Django. Considera un’app Django System e due file di migrazione all’interno della cartella migrations di questa applicazione. Lascia che i due file di migrazione siano 0005_second_last_migration e 0006_last_migration; si noti che 0006 è l’ultima migrazione applicata.

Se dobbiamo tornare alla migrazione 0005 dalla migrazione 0006, eseguiremo il seguente comando:

python manage.py migrate System 0005
            --- OR ---
python manage.py migrate System 0005_second_last_migration

È necessario menzionare il nome dell’applicazione e possiamo utilizzare sia il numero di migrazione che il nome del file per ripristinare una migrazione.

Se dobbiamo invertire tutte le migrazioni di questa applicazione Django System, utilizzeremo il comando seguente:

python manage.py migrate System zero

Ricorda, una migrazione a volte può essere irreversibile. Generalmente, questa condizione si verifica quando sono state apportate alcune modifiche significative ai modelli Django. Quando proveremo a tornare a una tale migrazione, Django genererà un IrreversibleError.

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.

Articolo correlato - Django Migration