from sqlalchemy import Column, String, Integer, BigInteger, DateTime, DECIMAL, ForeignKey from sqlalchemy.sql import func from app.database import Base class AppRating(Base): __tablename__ = "app_rating" id = Column(BigInteger, primary_key=True, autoincrement=True) app_id = Column(String(50), ForeignKey("app_info.app_id", ondelete="CASCADE"), nullable=False, index=True) pkg_name = Column(String(255), ForeignKey("app_info.pkg_name", ondelete="CASCADE"), nullable=False, index=True) average_rating = Column(DECIMAL(3, 2), nullable=False, index=True) star_1_count = Column(Integer, nullable=False, default=0) star_2_count = Column(Integer, nullable=False, default=0) star_3_count = Column(Integer, nullable=False, default=0) star_4_count = Column(Integer, nullable=False, default=0) star_5_count = Column(Integer, nullable=False, default=0) total_rating_count = Column(Integer, nullable=False, default=0) created_at = Column(DateTime, nullable=False, server_default=func.now(), index=True)