Spaces:
Sleeping
Sleeping
| from sqlalchemy import Column, Integer, String, DateTime, Text, Float, ForeignKey | |
| from database import Base | |
| from datetime import datetime | |
| class User(Base): | |
| __tablename__ = "users" | |
| id = Column(Integer, primary_key=True, index=True) | |
| name = Column(String, nullable=False) | |
| email = Column(String, unique=True, nullable=False) | |
| password_hash = Column(String, nullable=False) | |
| class Log(Base): | |
| __tablename__ = "logs" | |
| id = Column(Integer, primary_key=True, index=True) | |
| user_id = Column(Integer, nullable=False) | |
| session_id = Column(String, nullable=False) | |
| log = Column(Text, nullable=False) | |
| timestamp = Column(DateTime, default=datetime.utcnow) | |
| class CtrReport(Base): | |
| __tablename__ = "ctr_report" | |
| id = Column(Integer, primary_key=True, index=True) | |
| user_id = Column(Integer, nullable=False) | |
| session_id = Column(String, nullable=False) | |
| report = Column(Text, nullable=False) | |
| insights = Column(Text, nullable=False) | |
| state_flow = Column(Text, nullable=False) | |
| suggestions = Column(Text, nullable=False) | |
| # ========================= | |
| # RESTAURANT TABLE | |
| # ========================= | |
| class Restaurant(Base): | |
| __tablename__ = "restaurants" | |
| id = Column(Integer, primary_key=True, index=True) | |
| name = Column(String, nullable=False) | |
| cuisine = Column(String, nullable=False) | |
| location = Column(String, nullable=False) | |
| price_range = Column(String, nullable=False) | |
| avg_rating = Column(Float, default=0.0) | |
| description = Column(Text) | |
| # ========================= | |
| # REVIEW TABLE | |
| # ========================= | |
| class Review(Base): | |
| __tablename__ = "reviews" | |
| id = Column(Integer, primary_key=True, index=True) | |
| restaurant_id = Column( | |
| Integer, | |
| ForeignKey("restaurants.id"), | |
| nullable=False | |
| ) | |
| user_name = Column(String, nullable=False) | |
| rating = Column(Integer, nullable=False) | |
| review = Column(Text, nullable=False) | |
| created_at = Column(DateTime, default=datetime.utcnow) |