build(db): add Alembic scaffolding + baseline migration
Introduce Alembic at v1. Migrations live inside the package (decnet/web/db/migrations) so they ship with installs; alembic.ini at the repo root drives the CLI. env.py is async and dual-backend, selecting the engine from DECNET_DB_TYPE (mirroring db/factory.py) and reusing the app's own connection when run programmatically. The baseline captures all 39 tables. _BIG_TEXT round-trips as Text().with_variant(MEDIUMTEXT, 'mysql'), so both backends get the right column type from the migration. kd_digraph_simhash gains a sqlite BLOB variant: BINARY(8) reflects as NUMERIC on SQLite and would otherwise trip 'alembic check' forever.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -19,6 +19,8 @@ decnet-topology-*-compose.yml
|
||||
.docker/
|
||||
decnet-state.json
|
||||
*.ini
|
||||
# tracked: Alembic CLI config (migrations live in decnet/web/db/migrations)
|
||||
!alembic.ini
|
||||
decnet.log*
|
||||
*.loggy
|
||||
*.nmap
|
||||
|
||||
Reference in New Issue
Block a user