Spaces:
Running
Running
File size: 502 Bytes
28035e9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | """SQLAlchemy engine and connection helpers."""
from sqlalchemy import create_engine
from sqlalchemy.engine import Engine
import config
_engine: Engine | None = None
def get_engine() -> Engine:
"""Return a singleton SQLAlchemy engine."""
global _engine
if _engine is None:
_engine = create_engine(config.DATABASE_URL, pool_pre_ping=True)
return _engine
def get_connection():
"""Return a new database connection (context-manager)."""
return get_engine().connect()
|