| import os
|
| from sqlalchemy.orm import sessionmaker
|
| from sqlalchemy import create_engine
|
| from sqlalchemy import Column, Integer, String, ForeignKey, DateTime
|
| from sqlalchemy.ext.declarative import declarative_base
|
| import uuid
|
| from datetime import datetime
|
|
|
| Base = declarative_base()
|
|
|
| class Origin(Base):
|
| __tablename__ = "origin"
|
| id_origin = Column(String, primary_key=True, index=True, default=lambda: str(uuid.uuid4()))
|
| origin = Column(String, nullable=True)
|
|
|
| class Status(Base):
|
| __tablename__ = "status"
|
| id_status = Column(String, primary_key=True, index=True, default=lambda: str(uuid.uuid4()))
|
| status = Column(String, nullable=True)
|
|
|
| class Prompt(Base):
|
| __tablename__ = "prompt"
|
| id_prompt = Column(String, primary_key=True, index=True, default=lambda: str(uuid.uuid4()))
|
| session_id = Column(String, nullable=False)
|
| id_origin = Column(String, ForeignKey("origin.id_origin"), nullable=False)
|
| prompt = Column(String, nullable=True)
|
| response = Column(String, nullable=True)
|
|
|
|
|
| class Log(Base):
|
| __tablename__ = "log"
|
| id_log = Column(String, primary_key=True, index=True, default=lambda: str(uuid.uuid4()))
|
| timestamp = Column(DateTime, default=lambda: datetime.utcnow(), nullable=False)
|
| id_prompt = Column(String, ForeignKey("prompt.id_prompt"), nullable=False)
|
| id_status = Column(String, ForeignKey("status.id_status"), nullable=False)
|
| id_origin = Column(String, ForeignKey("origin.id_origin"), nullable=False)
|
|
|
| engine = create_engine("sqlite:///db_logsv2.db")
|
| Base.metadata.create_all(engine) |