tisserande.db.execution
ORM model for the Execution table (one record per tracked function call).
Classes
Declarative base for all database models. |
Module Contents
- class tisserande.db.execution.ExecutionTable[source]
Bases:
tisserande.db.base.BaseDeclarative base for all database models.
- Provides:
Schema assignment from configuration
Consistent constraint naming for migrations
Shared metadata for all models
Required interface for Pydantic integration
Lifecycle hooks for create, update, and delete operations
Subclasses must implement the abstract methods for Pydantic model integration. Subclasses may override hook methods to add custom behavior at various points in the row lifecycle.
- function_node_id: sqlalchemy.orm.Mapped[uuid.UUID | None][source]
- status: sqlalchemy.orm.Mapped[str][source]
- start_time: sqlalchemy.orm.Mapped[datetime.datetime | None][source]
- end_time: sqlalchemy.orm.Mapped[datetime.datetime | None][source]
- duration_seconds: sqlalchemy.orm.Mapped[float | None][source]
- error_message: sqlalchemy.orm.Mapped[str | None][source]
- error_traceback: sqlalchemy.orm.Mapped[str | None][source]
- classmethod pydantic_create_class() type[pydantic.BaseModel][source]
Pydantic model used to create rows in this table.
This model defines the schema for input validation when creating new rows. It may differ from pydantic_model_class() if creation requires different fields than the full model representation.
- Returns:
The Pydantic model class for row creation
Examples
>>> class User(Base): ... @classmethod ... def pydantic_create_class(cls) -> type[BaseModel]: ... return UserCreate # Excludes id, created_at, etc.
- classmethod pydantic_model_class() type[pydantic.BaseModel][source]
Pydantic model class for this table.
This model defines the complete schema for serialization and validation of existing rows, typically including all fields.
- Returns:
The Pydantic model class for row serialization/validation
Examples
>>> class User(Base): ... @classmethod ... def pydantic_model_class(cls) -> type[BaseModel]: ... return UserModel # Includes all fields