Files
plantillas-proyectos/backend/api/v1/modules/a76/manifests/driver/models.py
2026-02-09 08:42:02 -06:00

31 lines
1.2 KiB
Python

from typing import Optional
from api.v1.common.base_models import TenantScopedMixin, TimestampMixin
from core.database import Base
from sqlalchemy import (
Index,
Integer,
PrimaryKeyConstraint,
String,
)
from sqlalchemy.orm import Mapped, mapped_column
class ManifestDriver(Base, TenantScopedMixin, TimestampMixin):
__tablename__ = "manifest_drivers"
__table_args__ = (
PrimaryKeyConstraint("manifest_number", "driver_name", name="manifest_drivers_pkey"),
Index("idx_manifest_drivers_manifest_number", "manifest_number"),
{"schema": "a76"},
)
manifest_number: Mapped[str] = mapped_column(String(15))
driver_name: Mapped[str] = mapped_column(String(80))
driver_type: Mapped[Optional[str]] = mapped_column(String(1), nullable=True)
address_1: Mapped[Optional[str]] = mapped_column(String(100), nullable=True)
address_2: Mapped[Optional[str]] = mapped_column(String(100), nullable=True)
city: Mapped[Optional[str]] = mapped_column(String(30), nullable=True)
state: Mapped[Optional[str]] = mapped_column(String(30), nullable=True)
postal_code: Mapped[Optional[str]] = mapped_column(String(15), nullable=True)
country: Mapped[Optional[str]] = mapped_column(String(3), nullable=True)