Réinitialiser la base de données dans Django
- Réinitialiser la base de données SQLite3 dans Django
- Réinitialiser toute la base de données dans Django
- Réinitialiser les tables d’une base de données d’applications dans Django
Lorsque nous travaillons avec des bases de données, nous nous retrouvons souvent dans des situations où nous devons réinitialiser toute la base de données. Les raisons possibles peuvent être l’ajout ou la suppression de certaines tables de base de données, des modifications dans la conception de la base de données, des problèmes de logique et de relations, ou la base de données a été remplie de trop de données inutiles. Quoi qu’il en soit, Django permet de résoudre très facilement ce problème.
De plus, Django nous fournit quelques commandes qui peuvent gérer cela pour nous. L’une de ces commandes peut réinitialiser la base de données dans Django, et nous sommes ici pour montrer comment vous pouvez l’utiliser.
Réinitialiser la base de données SQLite3 dans Django
Si vous utilisez la base de données SQLite3 pour votre projet Django et que vous devez la réinitialiser, suivez les étapes ci-dessous :
-
Supprimer le fichier
db.sqlite3
. Si ce fichier contient des données importantes, vous souhaiterez peut-être installer une sauvegarde pour celles-ci. -
Supprimez tous les dossiers
migrations
dans toutes les applications Django. -
Effectuez des migrations pour toutes les applications Django à l’aide de la commande
python manage.py makemigrations
. Il peut y avoir des cas où les migrations ne sont pas effectuées pour les applications ; dans ce cas, ajoutez les noms d’application à cette commande comme cecipython manage.py makemigrations MyAppOne MyAppTwo MyAppThree
. -
Enfin, migrez les migrations à l’aide de cette commande :
python manage.py migrate
.
Réinitialiser toute la base de données dans Django
Si nous devons réinitialiser complètement toute la base de données, nous utiliserons la commande suivante : (Remarque : après avoir utilisé ce code, tous les superutilisateurs existants seront également supprimés.)
python manage.py flush
Réinitialiser les tables d’une base de données d’applications dans Django
Si nous devons supprimer les tables de la base de données d’une application Django, nous utiliserons la commande ci-dessous. Le code suivant inverse toutes les migrations pour cette application particulière :
python manage.py migrate MyApp zero