Coverage for src/app/modules/reviews/model.py: 100%
10 statements
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-24 08:34 +0000
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-24 08:34 +0000
1from sqlalchemy import DateTime, ForeignKey, Integer, func
2from sqlalchemy.orm import Mapped, mapped_column, relationship
4from app.db.base import Base
7class Review(Base):
8 __tablename__ = "reviews"
10 id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True)
12 card_id: Mapped[int] = mapped_column(ForeignKey("cards.id"), nullable=False)
14 rating: Mapped[int] = mapped_column(Integer, nullable=False) # 0–5 scale
15 reviewed_at: Mapped[str] = mapped_column(DateTime, server_default=func.now())
17 card = relationship("Card", back_populates="reviews")