from sqlalchemy import Column, Integer, String, LargeBinary, DateTime, Text, ForeignKey from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship from datetime import datetime from app.core.config import settings from app.database.connection import engine Base=declarative_base() class Patient(Base): __tablename__ = "patients" id = Column(Integer, primary_key=True, index=True) username = Column(String(100)) email = Column(String(255), unique=True) password = Column(String(255)) city = Column(String(100)) state = Column(String(100)) country = Column(String(100)) tumor_type = Column(String(100)) mri_image = Column(LargeBinary) created_at = Column(DateTime, default=datetime.utcnow) class ChatMessage(Base): __tablename__ = "chat_messages" id = Column(Integer, primary_key=True, index=True) patient_id = Column(Integer, ForeignKey("patients.id", ondelete="CASCADE")) patient_query = Column(Text) bot_response = Column(Text) timestamp = Column(DateTime, default=datetime.utcnow) def create_tables(): Base.metadata.create_all(bind=engine) # if __name__ == "__main__": # create_tables() # print("Tables created successfully")