From e1e9de2bce88f30f8e20d80516ab4263c379529e Mon Sep 17 00:00:00 2001 From: Dianaka123 Date: Thu, 26 Feb 2026 15:20:34 +0300 Subject: [PATCH] POL-8: Add styles table Co-Authored-By: Claude Sonnet 4.6 --- backend/app/models/style.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 backend/app/models/style.py diff --git a/backend/app/models/style.py b/backend/app/models/style.py new file mode 100644 index 0000000..016cffb --- /dev/null +++ b/backend/app/models/style.py @@ -0,0 +1,19 @@ +import uuid +from datetime import datetime + +from sqlalchemy import DateTime, ForeignKey, String, Uuid, func +from sqlalchemy.orm import Mapped, mapped_column, relationship + +from app.database import Base + + +class Style(Base): + __tablename__ = "styles" + + id: Mapped[uuid.UUID] = mapped_column(Uuid(as_uuid=True), primary_key=True, default=uuid.uuid4) + championship_id: Mapped[uuid.UUID] = mapped_column(Uuid(as_uuid=True), ForeignKey("championships.id", ondelete="CASCADE"), nullable=False) + name: Mapped[str] = mapped_column(String(255), nullable=False) # e.g. "Exotic", "Sport", "Art" + + created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now()) + + championship: Mapped["Championship"] = relationship(back_populates="styles") # type: ignore[name-defined]