"""Turnstone database abstraction — unified SQLite / Postgres interface. Public API: BACKEND — Backend.SQLITE or Backend.POSTGRES get_conn(path) — context manager yielding a DbConn resolve_tenant_id() — this node's tenant ID (env or hostname) q(sql) — rewrite ? placeholders to %s for Postgres frag — SQL fragment helpers (insert_or_ignore, source_group_expr, …) ensure_schema — idempotent schema init close_pool — call during shutdown when using Postgres """ from app.db.backend import BACKEND, Backend from app.db.conn import DbConn, close_pool, get_conn from app.db.dialect import frag, q from app.db.schema import ( ensure_context_schema, ensure_incidents_schema, ensure_schema, migrate_incidents_to_dedicated_db, ) from app.db.tenant import resolve_tenant_id __all__ = [ "BACKEND", "Backend", "DbConn", "close_pool", "get_conn", "frag", "q", "ensure_schema", "ensure_context_schema", "ensure_incidents_schema", "migrate_incidents_to_dedicated_db", "resolve_tenant_id", ]