2016-08-01 2 views
1

Ich habe Flask-Migrate falsch verwendet. Zwischen zwei Umgebungen habe ich unabhängig den Migrationsordner erstellt und den Migrationsordner zur .gitigore-Datei hinzugefügt.Wie migriert Kolben Flasche, welche Revisions-ID aktuell ist?

Dies hat Probleme vor kurzem verursacht, weil ich direkt mit Alembic Migrationen zu interagieren möchte, und diese Änderungen in Github verfolgen. Diese

bedeutet, dass ich meine Produktionskolben app gegabelt, und verfolgen nun die Migrationen Ordner, um seinen Eintrag in meinem .gitignore Datei zu entfernen. Ich zog diesen Zweig zu meinem lokalen und zerstörte meine lokalen db. Ich habe die getrackten Migrationen durchgeführt und es scheint zu funktionieren.

ich zwischen zwei Umgebungen fragen, wie funktioniert migrieren Kolben Spur, was die aktuelle Revision-ID ist? Angenommen, ich erstelle und führe zwei Migrationen auf meinem lokalen Rechner aus und schiebe den Migrationsordner. Wie wird Flask migrieren diese beiden Revisionen verfolgen, und diese auf Produktion ausführen, wenn ich db-Upgrade auf Produktion laufen lasse?

Antwort

1

Alembic (der Motor hinter Flask-Migrate) eine kleine Tabelle in Ihrer Datenbank alembic_version genannt einfügen. Es schreibt die aktuelle Revision der Datenbank in diese Tabelle. Hier ist eine Müllkippe dieser Tabelle in einen meiner Datenbanken:

mydb=# select * from alembic_version; 
version_num 
-------------- 
36e0d1f0d589 
(1 row) 

Wenn Sie ein Upgrade ausführen wird es wissen, von wo aus der Aktualisierung beginnen, indem zunächst die aktuelle Version aus dieser Tabelle lesen.

Gute Frage!

+0

Dank! Das ist sehr hilfreich. –