import os import datetime from sqlalchemy import create_engine, Column, Integer, String, Float, Text, DateTime from sqlalchemy.orm import sessionmaker, declarative_base # DATABASE_URL = "postgresql://user:password@localhost/litigation_db" DATABASE_URL = os.getenv("DATABASE_URL","sqlite:///litigation_research.db") Base = declarative_base() class DocumentLog(Base): __tablename__ = 'document_logs' id = Column(Integer, primary_key=True) filename = Column(String) status = Column(String) # SUCCESS, FAILED, SKIPPED retry_count = Column(Integer, default=0) verification_score = Column(Float, default=0.0) model_used = Column(String) cost_estimate = Column(Float, default=0.0) timestamp = Column(DateTime, default=datetime.datetime.utcnow) final_summary = Column(Text, nullable=True) verifier_feedback = Column(Text, nullable=True) def init_db(): engine = create_engine(DATABASE_URL) Base.metadata.create_all(engine) return sessionmaker(bind=engine)()