Spaces:
Sleeping
Sleeping
File size: 870 Bytes
74de430 ad4d1e4 54e6861 74de430 54e6861 ad4d1e4 74de430 |
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 |
"""
Database Session Management
"""
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from app.config import settings
# Create database engine (Supabase PostgreSQL)
# IMPORTANT: Use connection pooler (port 6543) for better performance
# Format: postgresql://postgres:password@db.xxxxx.supabase.co:6543/postgres
engine = create_engine(
settings.DATABASE_URL,
pool_pre_ping=True,
pool_size=20, # Increased for better concurrency
max_overflow=20, # Allow burst traffic
pool_recycle=300, # Recycle connections every 5 minutes
pool_timeout=30, # Wait 30s for connection from pool
echo=settings.DEBUG
)
# Create session factory
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
# Base class for ORM models
Base = declarative_base()
|