2016-08-17 3 views
6

Wenn python manage.py migrate läuft begegne ich diesen Fehler:Django manage.py: Migration angewendet, bevor die Abhängigkeit

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration 
<appname>.0016_auto_<date2>_<time2> is applied before its dependency 
<appname>.0001_squashed_0015_auto_<date1>_<time1> 

läuft showmigrations kehrt:

<appname> 
[X] 0001_squashed_0015_auto_<date1>_<time1> (15 squashed migrations) 
[X] 0016_auto_<date2>_<time2> 
[ ] 0017_<modelname>_squashed_0019_auto_<date3>_<time3> (3 squashed migrations) 

Ich habe versucht, django-Erweiterungen gestern heraus, wenn es Alles wurde durcheinandergebracht, nachdem ich einige direkte SQL-Abfragen ausgeführt hatte, und ich setzte hart mit git zurück. Ich lerne immer noch über Migrationen, daher verstehe ich nicht, was falsch ist, da mir scheint, dass beide Migrationen bereits angewendet wurden. Ich hoffe, ich habe alles zur Verfügung gestellt, um die Antwort auf mein Problem zu wissen.

Vielen Dank für Ihre Hilfe!

Antwort

5

Sie haben die Migrationen gequetscht, sodass eine der Abhängigkeiten, die 0016_auto_<date2>_<time2> hatte, jetzt Teil der neu erstellten gequetschten Migrationen ist. Inzwischen wurde die 0016_auto_<date2>_<time2> bereits ausgeführt und Sie versuchen nun, die zerdrückte Migration auszuführen.

Ich persönlich weiß nicht, ob es eine Möglichkeit gibt, dies automatisch zu beheben. Sie müssen die Probleme selbst beheben. Wenn Sie Versionskontrolle haben, nehmen Sie diese Änderungen zurück und versuchen Sie zu überdenken, wie Sie die Migration komprimieren sollten, ohne die alten zu beeinträchtigen.

+1

Ja, ich habe etwas ähnliches gedacht. Danke für die Antwort. Ich habe es gerade behoben, indem ich die gequetschten Daten löschte, die Migrationsdateien löschte, die von den gequetschten Daten abhängig waren, und "makemigrations" und "migrate" ausführen. Das sollte im Django-Projekt behoben werden. –

+0

Hallo Bruder @masnun, Ich habe das gleiche Problem. In meiner ersten Migrationsdatei Ich habe, Abhängigkeiten = [ ('custom_users', '__ latest__'), ('custom_devices', '0008_remove_customdevice_os_version'), ] ich den Fehler für die ersten Abhängigkeiten. Soll ich das löschen? –

+0

Überprüfen Sie den Datenbankstatus und verwenden Sie SQL, um die Einstellungen manuell vorzunehmen. – masnun

Verwandte Themen