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

1from sqlalchemy import DateTime, ForeignKey, Integer, func 

2from sqlalchemy.orm import Mapped, mapped_column, relationship 

3 

4from app.db.base import Base 

5 

6 

7class Review(Base): 

8 __tablename__ = "reviews" 

9 

10 id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) 

11 

12 card_id: Mapped[int] = mapped_column(ForeignKey("cards.id"), nullable=False) 

13 

14 rating: Mapped[int] = mapped_column(Integer, nullable=False) # 0–5 scale 

15 reviewed_at: Mapped[str] = mapped_column(DateTime, server_default=func.now()) 

16 

17 card = relationship("Card", back_populates="reviews")