- Move the shared-schema bootstrap out of the Alembic chain into a standalone script (scripts/bootstrap_shared_schema.py). As a chained revision it collided with the per-tenant history on `alembic upgrade head` (DuplicateTable) and would have run on existing single-tenant instances via init_db(). It is now run explicitly against the fresh shared DB; the migration track owns provisioning. - Run the bootstrap in AUTOCOMMIT so 1000+ partition creations plus composite FKs don't exhaust max_locks_per_transaction in a single transaction. - Derive the partitioned-table set from the models instead of hand-listing it (a hand list drifts and yields a partitioned parent with zero partitions). - message_embeddings: index (message_id, tenant_id) since message_id lookups are cross-tenant; restore the composite workspaces FK for parity with peer tables. - messages: ix_messages_peer_lookup = (tenant_id, workspace_name, peer_name, created_at) to serve the peer-history query without a sort. - QueueItem.__repr__: include tenant_id. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| versions | ||
| README | ||
| env.py | ||
| script.py.mako | ||
| utils.py | ||
README
Generic single-database configuration.