Django migrieren --fake und --fake-anfängliche erklärt

Ich habe ein Benutzer von Django für ungefähr 2 Jahre jetzt, und es ist ein feature, das ich schon immer Angst vor der Anwendung : vorgetäuscht Migrationen.

Ist, habe ich mich so ziemlich überall und die meisten Informationen, die ich bekommen kann, ist aus der Dokumentation, wo es heißt:

--fake

Erzählt Django zu markieren, die Migrationen als angewandte oder
nicht zugeordnete, aber ohne dem eigentlichen ausführen der SQL ändern, um Ihre
Datenbank-schema.

Dies ist für fortgeschrittene Anwender gedacht um die Bearbeitung der aktuellen
migration Stand direkt, wenn Sie manuelles übernehmen von änderungen;
gewarnt, die mit der Option --fake-läuft die Gefahr, dass die migration Staat
Tabelle in einem Zustand, wo eine manuelle Wiederherstellung benötigt werden, um
Migrationen korrekt ausgeführt.

--fake-erste

Ermöglicht Django überspringen einer app, die anfängliche migration, wenn alle Datenbank
Tabellen mit den Namen aller Modelle erstellt, die von allen CreateModel
Operationen, die migration bereits vorhanden ist. Dafür ist diese option gedacht
für den Einsatz bei der ersten Ausführung von Migrationen, die für eine Datenbank, die
preexisted die Verwendung von Migrationen. Diese option wirkt sich jedoch nicht überprüfen
nach übereinstimmenden Datenbank-schema über matching-Tabelle Namen und so ist
nur sicher zu verwenden, wenn Sie sicher sind, dass Ihr vorhandenes schema
mit der übereinstimmt, die aufgezeichnet wird in Ihrer ersten migration.

Ich die Allgemeine Idee, und warum würde man wollen, um diese Funktion zu nutzen. Aber, ich verstehe nicht den Teil, wo er sagt, dass dies bestimmt nur für fortgeschrittene Benutzer.

Kann mir jemand erklären, was passiert hinter den kulissen und warum manuelle Wiederherstellung benötigt werden würde.

HINWEIS

Ich bin nicht auf der Suche nach der genauen raw-SQL-Abfragen, die ausgeführt wird, wenn das vortäuschen einer migration. Ich bin nur auf der Suche nach eine Allgemeine Vorstellung von dem, was passiert hinter der Bühne und vielleicht ein Beispiel dafür, warum das vortäuschen einer migration
Ergebnis wäre ein Zustand, wo makemigrations würde nicht richtig funktionieren.

InformationsquelleAutor scharette | 2017-10-16

Schreibe einen Kommentar