"""MiniBusinessLog — follow-up log entries for mini business opportunities.""" import uuid from datetime import date, datetime from sqlalchemy import String, Date, DateTime, ForeignKey, Text, func from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import Mapped, mapped_column, relationship from app.database import Base class MiniBusinessLog(Base): __tablename__ = "mini_business_logs" id: Mapped[uuid.UUID] = mapped_column( UUID(as_uuid=True), primary_key=True, default=uuid.uuid4 ) business_id: Mapped[uuid.UUID] = mapped_column( UUID(as_uuid=True), ForeignKey("mini_business.id", ondelete="CASCADE"), index=True ) log_date: Mapped[date] = mapped_column(Date) method: Mapped[str] = mapped_column(String(20), default="电话") content: Mapped[str] = mapped_column(Text, default="") created_by: Mapped[uuid.UUID] = mapped_column( UUID(as_uuid=True), ForeignKey("users.id") ) created_at: Mapped[datetime] = mapped_column( DateTime(timezone=True), server_default=func.now() ) business: Mapped["MiniBusiness"] = relationship(back_populates="logs")