Skip to content
Menu

Documentation

sandloom.sdk.migrations

Running migrations: run_module_migrations, run_migrations.

Public API 1.0 (spec §2.2, Appendix C).

from sandloom.sdk.migrations import <name>. Signatures in a terminal: sandloom docs <name>. Beginner names are the ones generated code and the examples use; any other name is advanced (mark its import line # sandloom: advanced <reason> in generated code and examples).

Advanced

Name Kind Summary
run_migrations function Run the active alembic chain scoped to the chain's own tables.
run_module_migrations function Run a module's own migration chain by convention (from its env.py).

Advanced names

run_migrations

def run_migrations(
    table_names: Iterable[str] = (),
    model_modules: Sequence[str] = (),
    *,
    table_prefix: str | None = None,
) -> None

Run the active alembic chain scoped to the chain's own tables.

Parameters

table_names: Explicit set of tables this chain owns (used by the framework's hand-written chains, whose tables do not share a single prefix). model_modules: Importable module paths whose import registers the chain's models on the shared Base.metadata (e.g. "sandloom_identity.models"). table_prefix: Alternative scoping for scaffolded modules, which follow the <module>_ table-name convention: every table starting with this prefix is owned by the chain. Combined with table_names (union).

Autogenerate is restricted to the owned tables (and the indexes/constraints attached to them) via include_object; at upgrade time the filter is a no-op (the migration ops run as written).

run_module_migrations

def run_module_migrations(
    env_file: str | os.PathLike[str],
    *,
    package: str | None = None,
    model_modules: Sequence[str] | None = None,
    table_prefix: str | None = None,
    table_names: Iterable[str] = (),
) -> None

Run a module's own migration chain by convention (from its env.py).

See sandloom.core.migrations.alembic_support.run_module_migrations.