from sqlalchemy import Column, Date, DateTime, ForeignKey, String, Text, Index, text from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.sql import func from backend.app.db.base import Base class DutyItem(Base): __tablename__ = "duty_items" __table_args__ = (Index("idx_duty_date", "date"),) id = Column(UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()")) date = Column(Date, nullable=False) staff_id = Column(UUID(as_uuid=True), ForeignKey("users.id", ondelete="RESTRICT"), nullable=False) duty_type = Column(String, nullable=False) contact = Column(String) note = Column(Text) created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False) updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False)