Python CI and a JVM for SQL migrations is an odd combo.
DBLift is Flyway-style versioned SQL for Python teams. Preview the exact statements before apply:
migrate --dry-run --show-sql
docs.dblift.comgithub.com/dblift/dblift
Django manage your ORM migrations. When SQL is needed, DBLift provide a Django application. manage.py check surfaces dblift.W001 so the app is wired before you migrate.
Walkthrough with real output:
dblift.com/blog/django-ra…
Alembic merge
Two branches, two Alembic heads → merge revision forever.
Same story in DBLift: a late V2 just shows up as Pending. Default applies it (out-of-order). --strict refuses and names the file.
dblift.com/blog/dblift-vs…#alembic#dblift
DBLift runs numbered SQL migration files, Flyway-style, from Python. pip install dblift, no JVM. This is what migrate --dry-run --show-sql shows before anything touches the database
github.com/dblift/dblift