Cet article donne les commandes pour remettre à zéro les fichiers de migrations d’un projet Django et repartir sur une base vide. À ne faire que pendant le développement, évidemment. Toutes les données existantes seront perdues.
TL;DR
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete
rm db.sqlite3
python manage.py makemigrations
python manage.py migrate
Détails
1. Effacer tous les fichiers de migrations existants
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete
2. Supprimer la bdd existante
(en considérant le nom par défaut
db.sqlite3
)
rm db.sqlite3
3. Refaire les migrations et le schéma de bdd
python manage.py makemigrations
python manage.py migrate