SIGN IN SIGN UP

Internally Managed Migrations (#438)

This PR replaces Alembic-based system database migrations with a simpler
internal system.

Migrations are now an array of SQL strings in `_migration.py`. There is
a new table `dbos.dbos_migrations` in the system database that keeps
track of which has run. When initializing the system database, it looks
up that table to see which migrations have already run and then runs the
rest.

This new scheme is fully backwards-compatible with the old
(Alembic-based) migrations, as this PR also adds a final Alembic
migration that creates the `dbos.dbos_migrations` table and inserts an
initial version into it.

We will move all DBOS languages (TypeScript, Go, Java) to this system
and use exactly the same migrations for each to ensure system database
compatibility across languages.
P
Peter Kraft committed
807d41e37d29c11e4950270106c3e99adccfa553
Parent: 231a336
Committed by GitHub <noreply@github.com> on 8/25/2025, 6:33:16 PM