from datetime import datetime from sqlalchemy import DateTime, ForeignKey, Integer, func from sqlalchemy.orm import Mapped, mapped_column, relationship from app.models.base import Base class StrikeEvent(Base): __tablename__ = "strike_events" id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) child_id: Mapped[int] = mapped_column(ForeignKey("children.id", ondelete="CASCADE"), nullable=False) occurred_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), nullable=False) prev_strikes: Mapped[int] = mapped_column(Integer, nullable=False) new_strikes: Mapped[int] = mapped_column(Integer, nullable=False) child: Mapped["Child"] = relationship("Child") # noqa: F821