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
| 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)
engine
class-attribute
instance-attribute
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
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
| @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
| @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
|