Quelque chose s'est mal passé lors de mes migrations, j'ai ajouté un nouveau champ datetime à un modèle, puis j'ai utilisé makemigrations et migrate.
python manage.py makemigrations
python manage.py migrate
Mais après cela la migration a eu une "erreur de table existe déjà". Je supposais que je pouvais simuler les migrations et recommencer, alors je l’ai fait
python manage.py makemigrations --fake core
Operations to perform:
Apply all migrations: core
Running migrations:
Rendering model states... DONE
Applying core.0001_initial... FAKED
Applying core.0002_auto_20150525_1331... FAKED
Applying core.0003_auto_20150525_1348... FAKED
Applying core.0004_processo_data_atualizacao... FAKED
mais la nouvelle migration que je viens de créer était également fausse (bien sûr!).
Comment est la bonne façon de refaire une migration (dans ce cas le core.0004) après avoir fait cela?
Vous devez d’abord définir votre état actuel sur 0003 avec --fake
_ (en supposant que 0003 est la dernière migration que vous avez réellement appliquée):
python manage.py migrate --fake core 0003
Et puis procédez comme d'habitude:
python manage.py migrate core
Documentation pertinente: https://docs.djangoproject.com/en/dev/ref/Django-admin/#migrate