import os from dotenv import load_dotenv from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker # Cargar variables del archivo .env load_dotenv() # Configuración de MySQL MYSQL_HOST = os.getenv("MYSQL_HOST", "localhost") MYSQL_USER = os.getenv("MYSQL_USER", "root") MYSQL_PASSWORD = os.getenv("MYSQL_PASSWORD", "manabo") MYSQL_DATABASE = os.getenv("MYSQL_DATABASE", "noticias") MYSQL_PORT = os.getenv("MYSQL_PORT", "3306") DATABASE_URL = f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DATABASE}" # Crear el motor de base de datos engine = create_engine(DATABASE_URL) # Crear la sesión SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) # Base para los modelos Base = declarative_base() # Dependencia para obtener la sesión de la BD def get_db(): db = SessionLocal() try: yield db finally: db.close()