diff --git a/database.py b/database.py index a9ec1d0..e9d5883 100644 --- a/database.py +++ b/database.py @@ -1,4 +1,4 @@ -# database.py +# database.py (sans générateur) import os import MySQLdb from dotenv import load_dotenv @@ -6,7 +6,6 @@ from dotenv import load_dotenv load_dotenv() def get_db_connection(): - conn = None try: conn = MySQLdb.connect( user=os.getenv("DB_USER"), @@ -15,9 +14,7 @@ def get_db_connection(): db=os.getenv("DB_NAME"), charset='utf8mb4' ) - yield conn - except MySQLdb.Error as e: - print(f"Erreur de base de données : {e}") - finally: - if conn: - conn.close() \ No newline at end of file + return conn + except Exception as e: + print(f"ERREUR CRITIQUE DE CONNEXION DB : {e}") + return None \ No newline at end of file diff --git a/routers/skills.py b/routers/skills.py index 53d624e..bf9c062 100644 --- a/routers/skills.py +++ b/routers/skills.py @@ -1,14 +1,16 @@ -from fastapi import APIRouter, HTTPException, Depends +# routers/skills.py (sans générateur) +from fastapi import APIRouter, HTTPException import MySQLdb from database import get_db_connection router = APIRouter() @router.get("/") -def read_skills(conn = Depends(get_db_connection)): +def read_skills(): + conn = get_db_connection() if not conn: raise HTTPException(status_code=503, detail="Service de base de données indisponible.") - + try: with conn.cursor(MySQLdb.cursors.DictCursor) as cursor: sql = "SELECT * FROM skills;" @@ -16,4 +18,6 @@ def read_skills(conn = Depends(get_db_connection)): result = cursor.fetchall() return {"data": result} except MySQLdb.Error as e: - raise HTTPException(status_code=500, detail=f"Erreur lors de la requête: {e}") \ No newline at end of file + raise HTTPException(status_code=500, detail=f"Erreur lors de la requête: {e}") + finally: + conn.close() \ No newline at end of file