Annulation de la dernière migration de base de données dans Django

Vaibhav Vaibhav 10 aout 2021
Annulation de la dernière migration de base de données dans Django

Lorsque vous travaillez avec des modèles Django, nous devons toujours utiliser la fonction de migration et la migrer si nous modifions les modèles. Il y a certaines situations où nous devons annuler ou inverser une migration. Django facilite l’annulation d’une migration. Cet article vous montrera comment annuler la dernière migration de base de données dans les projets Django.

Restauration de la migration Django à l’aide de la commande migrate

Pour annuler une migration, nous pouvons utiliser la commande migrate que nous fournit le fichier manage.py de Django. Considérez une application Django System et deux fichiers de migration dans le dossier migrations de cette application. Soit les deux fichiers de migration 0005_second_last_migration et 0006_last_migration ; notez que 0006 est la dernière migration qui a été appliquée.

Si nous devons revenir à la migration 0005 à partir de la migration 0006, nous exécuterons la commande suivante :

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

Il est nécessaire de mentionner le nom de l’application, et nous pouvons utiliser à la fois le numéro de migration et le nom du fichier pour annuler une migration.

Si nous devons inverser toutes les migrations de cette application Django System, nous utiliserons la commande ci-dessous :

python manage.py migrate System zero

N’oubliez pas qu’une migration peut parfois être irréversible. Généralement, cette condition survient lorsque des modifications importantes ont été apportées aux modèles Django. Lorsque nous essayons de revenir à une telle migration, Django génère une 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.

Article connexe - Django Migration