Lorsque j'exécute python manage.py migrate
sur mon projet Django, je reçois l'erreur suivante :
Traceback (most recent call last):
File "manage.py", line 22, in
execute_from_command_line(sys.argv)
File "/home/hari/project/env/local/lib/python2.7/site- packages/django/core/management/__init__.py", line 363, in execute_from_command_line
utility.execute()
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 355, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
output = self.handle(*args, **options)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 86, in handle
executor.loader.check_consistent_history(connection)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 298, in check_consistent_history
connection.alias,
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency account.0001_initial on database 'default'.
J'ai un modèle d'utilisateur comme ci-dessous :
class User(AbstractUser):
place = models.CharField(max_length=64, null=True, blank=True)
address = models.CharField(max_length=128, null=True, blank=True)
Comment puis-je résoudre ce problème ?
5 votes
Tout d'abord, supprimez toutes les tables de la base de données, supprimez tous les fichiers du dossier migrations sauf init.py, puis exécutez la migration.
0 votes
Comment supprimer toutes les tables ?
0 votes
Quelle base de données utilisez-vous ?
0 votes
Yah. j'ai supprimé cela et maintenant ça fonctionne.
0 votes
Pour moi, le problème était dû au fait que j'avais une migration qui dépendait de
'ipn', '__latest__'
. J'ai simplement vérifié l'ordre des migrations appliquées avecselect *from django_migrations
, puis j'ai changé__latest__
par'ipn', '0007_auto_20160219_1135'
et le problème a disparu.