Ich habe eine App mit 35 Migrationen, die eine Weile dauern (zum Beispiel vor Tests), also möchte ich sie zerquetschen.Verwenden einer neuen anfänglichen Migration zu Squash Migrationen
Der Befehl squashmigrations
reduziert die Operationen von 99 auf 88, ist aber noch lange nicht optimal. Dies liegt wahrscheinlich an der Tatsache, dass ich mehrere RunPython
Operationen habe, die verhindern, dass Django andere Operationen optimiert. All diese RunPython
-Operationen sind bei der gedrückten Migration nutzlos, da die Datenbank leer ist. In Django 1.10 wird der Parameter elidable
erlauben, sie in diesem Fall zu überspringen, aber trotzdem bleibt viel Unordnung.
Was hatte ich im Sinn für die zerquetschten Migration war näher an den ersten Migrationen Django erzeugt, daher meine Frage:
Ist es ratsam, eine neue anfängliche Migration als zerquetschte Version einer langen Liste von Migrationen zu benutzen? Wie würdest du das machen?
Danke! Wie generieren Sie die ursprüngliche Migration? Verschieben Sie alle aktuellen Migrationen in einen anderen Ordner? – pintoch
Normalerweise entferne ich einfach die Migrationen von Ordnern unter jeder meiner lokalen Anwendungen. Generell verwende ich PostreSQL. Im einfachsten Fall führe ich dies aus: 'dropdb dbname && createdb dbname && rm -rf etwas_applikation/migrationen && python manage.py migrieren' –