Spaces:
Sleeping
Sleeping
File size: 2,007 Bytes
5076b3f 19377cf 5076b3f 19377cf 5076b3f 19377cf bfc1376 5076b3f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | 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) |