Skip to content

Add flask migrations

Nils Brinckmann requested to merge add-flask-migrations into master

Hier wird die Flask-Migration Erweiterung hinzugefügt um SQL-Migrations durchführen zu können.

Der Workflow wird dann folgendermaßen sein:

Wenn wir neue Modelle anlegen oder existierenden verändern: python3 manage.py db migrate um die Migration Files zu erstellen.

Die Dabei entstehenden Dateien unter app/migrations/versions sollen dann in Git aufgenommen werden.

Beim Deployment wird dann statt bisher python3 manage.py recreate_db-> python3 manage.py db upgrade ausgeführt.

Die automatisch erstellten Migrationfiles, wie sie mit db migrate erstellt werden, sollten schon mal eine große Hilfe sein. Alembic (das dafür genutzt wird) erkennt aber leider nicht so viele Änderungen, wie beispielsweise der Django ORM.

Einschränkungen dafür sind hier aufgelistet: https://alembic.sqlalchemy.org/en/latest/autogenerate.html

Für die Kommandos, die Flask-Migrate mitbringt gibt es hier Dokumentation: https://flask-migrate.readthedocs.io/en/latest/#

Ich habe die Einführung der Configurations nun mit dieser Erweiterung durchgeführt und denke, dass sie auch gut im Hauptrepo eingesetzt werden kann. Für den ersten Einsatz musste ich allerdings die existierenden Tabellen händisch umbenennen und in die dann neu erstellten Tabellen kopieren. (Also der initialie Aufwand ist leider etwas höher, aber ich hoffe, dass wir in Zukunft Vorteile dadurch haben werden).

CC: @abbrent, @pohled

Edited by Nils Brinckmann

Merge request reports