Skip to content

Class tigrbl.orm.tables.status.StatusEnum

tigrbl.orm.tables.status.StatusEnum

Bases: Base, Timestamped

id – surrogate PK (easy FK if needed elsewhere) code – canonical string value from the Status enum label – human-readable label (“Paused”, “Failed”, …)

id class-attribute instance-attribute

id = acol(
    storage=S(
        Integer, primary_key=True, autoincrement=True
    ),
    field=F(),
    io=IO(out_verbs=("read", "list")),
)

code class-attribute instance-attribute

code = acol(
    storage=S(
        SAEnum(Status, name="status_code_enum"),
        nullable=False,
        unique=True,
    ),
    field=F(py_type=Status),
    io=IO(out_verbs=("read", "list")),
)

label class-attribute instance-attribute

label = acol(
    storage=S(String, nullable=False),
    field=F(),
    io=IO(out_verbs=("read", "list")),
)

created_at class-attribute instance-attribute

created_at = acol(
    spec=ColumnSpec(
        storage=S(
            type_=TZDateTime,
            default=tzutcnow,
            nullable=False,
        ),
        field=F(py_type=datetime),
        io=RO_IO,
    )
)

updated_at class-attribute instance-attribute

updated_at = acol(
    spec=ColumnSpec(
        storage=S(
            type_=TZDateTime,
            default=tzutcnow,
            onupdate=tzutcnow,
            nullable=False,
        ),
        field=F(py_type=datetime),
        io=RO_IO,
    )
)

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",
    }
)