from __future__ import annotations

import logging


def get_db_connection(env: dict[str, str], logger: logging.Logger):
    try:
        import mysql.connector

        return mysql.connector.connect(
            host=env.get("DB_HOST", "localhost"),
            port=int(env.get("DB_PORT", "3306")),
            user=env.get("DB_USER", "root"),
            password=env.get("DB_PASSWORD", ""),
            database=env.get("DB_NAME", "analyses"),
            charset="utf8mb4",
            use_unicode=True,
        )
    except Exception as exc:
        logger.error("Erreur de connexion MySQL : %s", exc)
        raise
