Zuerst frage ich nach Django-Migration, die in 1.7 eingeführt wurde, nicht south
.
Angenommen, ich habe die Migrationen 001_add_field_x
, 002_add_field_y
, und beide werden auf die Datenbank angewendet. Jetzt ändere ich meine Meinung und entscheide mich, die zweite Migration rückgängig zu machen und sie durch eine andere Migration 003_add_field_z
zu ersetzen.
Mit anderen Worten, ich möchte 001 und 003 anwenden und 002 überspringen, wie kann ich das tun?
P.S. Ich weiß, dass ich rückwärts zu 001 migrieren kann, aber nachdem ich die 003-Migration gemacht und den migrate-Befehl ausgeführt habe, werden 001 bis 003 alle angewendet, richtig?
Sie können die Option --fake
verwenden.
Sobald Sie zu 0001
zurückkehren, können Sie
und dann
ausführen %Vor% was in diesem Fall nur 0003
betrifft.
Wenn Sie diesen Prozess nicht für alle Umgebungen / andere Entwickler ausführen möchten, können Sie einfach die Migrationsdateien entfernen und ein neues makemigration
ausführen und diese Datei festschreiben - und ja, führen Sie migrate
mit aus die Option --fake
Tags und Links python django django-models django-migrations