HarshBhati's picture
registered agents are showing but groq is not working fine
0733fd6
# database_module/db.py
import os
from sqlalchemy import create_engine, inspect, text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# Configure your database URL (env var or fallback to SQLite file)
DATABASE_URL = os.getenv(
"DATABASE_URL",
"sqlite:///./drift_detector.sqlite3"
)
# Create engine and session factory
# For SQLite, disable same-thread check
connect_args = {"check_same_thread": False} if DATABASE_URL.startswith("sqlite") else {}
engine = create_engine(
DATABASE_URL,
connect_args=connect_args,
pool_pre_ping=True
)
SessionLocal = sessionmaker(
autocommit=False,
autoflush=False,
bind=engine
)
Base = declarative_base()
def apply_migrations():
"""
Apply any necessary migrations to existing tables.
"""
with engine.connect() as conn:
# Check if the models table exists and has the required columns
inspector = inspect(engine)
if "models" in inspector.get_table_names():
columns = [col['name'] for col in inspector.get_columns('models')]
# Add capabilities column if missing
if "capabilities" not in columns:
conn.execute(text("ALTER TABLE models ADD COLUMN capabilities TEXT"))
conn.commit()
print("Migration: Added capabilities column to models table")
# Add updated column if missing
if "updated" not in columns:
conn.execute(text("ALTER TABLE models ADD COLUMN updated DATETIME"))
conn.commit()
print("Migration: Added updated column to models table")
def init_db():
"""
Create tables if they don't exist.
Call this once at application startup.
"""
Base.metadata.create_all(bind=engine)
apply_migrations()