from datetime import date from sqlalchemy import Date, ForeignKey, Integer, UniqueConstraint from sqlalchemy.orm import Mapped, mapped_column from ..db.base import Base class UserDailyRequest(Base): """记录每位用户每日使用次数的限流表。""" __tablename__ = "user_daily_requests" __table_args__ = (UniqueConstraint("user_id", "request_date", name="uq_user_daily"),) id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) user_id: Mapped[int] = mapped_column(ForeignKey("users.id", ondelete="CASCADE"), nullable=False, index=True) request_date: Mapped[date] = mapped_column(Date, nullable=False) request_count: Mapped[int] = mapped_column(Integer, default=0)