from sqlalchemy import SmallInteger, String from sqlalchemy.orm import Mapped, mapped_column, relationship from app.core.database import Base class Game(Base): __tablename__ = "games" id: Mapped[int] = mapped_column(primary_key=True) name: Mapped[str] = mapped_column(String(100)) slug: Mapped[str] = mapped_column(String(100), unique=True) generation: Mapped[int] = mapped_column(SmallInteger) region: Mapped[str] = mapped_column(String(50)) box_art_url: Mapped[str | None] = mapped_column(String(500)) release_year: Mapped[int | None] = mapped_column(SmallInteger) routes: Mapped[list["Route"]] = relationship(back_populates="game") runs: Mapped[list["NuzlockeRun"]] = relationship(back_populates="game") def __repr__(self) -> str: return f""