from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

SQLALCHEMY_DATABASE_URI = "mysql+pymysql://admin:Chile2025@jisbackend.com:3306/jisparking"

engine = create_engine(
    SQLALCHEMY_DATABASE_URI,
    pool_size=30,
    max_overflow=20,
    pool_timeout=60,
    pool_recycle=1800,
    pool_pre_ping=True
)
SessionLocal = sessionmaker(bind=engine, autocommit=False, autoflush=False)
Base = declarative_base()

def get_db():
    db = SessionLocal()
    try:
        yield db
    finally:
        db.close()

# 🟢 Conexión a otra base de datos (ej: jisparking)
SQLALCHEMY_DB2_URI = "mysql+pymysql://admin:Chile2025@jisbackend.com:3306/jisparking"
engine_db2 = create_engine(SQLALCHEMY_DB2_URI, pool_size=10, max_overflow=0, echo=False)
SessionLocalDB2 = sessionmaker(bind=engine_db2, autocommit=False, autoflush=False)
BaseDB2 = declarative_base()

def get_db2():
    db = SessionLocalDB2()
    try:
        yield db
    finally:
        db.close()
