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
.