Skip to content

Class tigrbl.table._table.Table

tigrbl.table._table.Table

Table(**kw)

Bases: Base, TableSpec

Declarative ORM table base.

This class now integrates :class:Base so ORM models and tables share the same type. Column specifications are exposed via columns for convenience.

Source code in tigrbl/table/_table.py
26
27
28
def __init__(self, **kw: Any) -> None:  # pragma: no cover - SQLA sets attrs
    for k, v in kw.items():
        setattr(self, k, v)

columns class-attribute instance-attribute

columns = SimpleNamespace()

initialize class-attribute instance-attribute

initialize = classmethod(initialize)

model instance-attribute

model

engine class-attribute instance-attribute

engine = None

ops class-attribute instance-attribute

ops = field(default_factory=tuple)

schemas class-attribute instance-attribute

schemas = field(default_factory=tuple)

hooks class-attribute instance-attribute

hooks = field(default_factory=tuple)

security_deps class-attribute instance-attribute

security_deps = field(default_factory=tuple)

deps class-attribute instance-attribute

deps = field(default_factory=tuple)

response class-attribute instance-attribute

response = None

metadata class-attribute instance-attribute

metadata = MetaData(
    naming_convention={
        "pk": "pk_%(table_name)s",
        "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
        "ix": "ix_%(table_name)s_%(column_0_name)s",
        "uq": "uq_%(table_name)s_%(column_0_name)s",
        "ck": "ck_%(table_name)s_%(column_0_name)s_%(constraint_type)s",
    }
)

install_engines classmethod

install_engines(*, api=None)
Source code in tigrbl/table/_table.py
43
44
45
@classmethod
def install_engines(cls, *, api: Any | None = None) -> None:
    install_from_objects(api=api, models=[cls])

acquire classmethod

acquire(*, op_alias=None)
Source code in tigrbl/table/_table.py
47
48
49
50
51
52
@classmethod
def acquire(
    cls, *, op_alias: str | None = None
) -> tuple[Session | AsyncSession, Callable[[], None]]:
    db, release = _resolver.acquire(model=cls, op_alias=op_alias)
    return db, release