from __future__ import annotations from datetime import date from sqlalchemy import Date, UniqueConstraint from sqlalchemy.orm import Mapped, mapped_column from app.core.config import settings from app.db.base import Base from app.db.types import AuditMixin, IdMixin class NonWorkingDay(IdMixin, AuditMixin, Base): """Нерабочий день производственного календаря (D30): выходные и праздники загруженного года. Год без записей — календарь не загружен.""" __tablename__ = "non_working_day" __table_args__ = ( UniqueConstraint("day", name="uq_non_working_day_day"), {"schema": settings.DATABASE_SCHEMA} if settings.DATABASE_SCHEMA else {}, ) day: Mapped[date] = mapped_column(Date, nullable=False)