nova-healt-bot-api / tools /database.py
BilalBill's picture
ajout de la base de donnee
8e10d17
Raw
History Blame Contribute Delete
1.68 kB
import os
from datetime import datetime
from sqlalchemy import create_engine, Column, Integer, String, Text, DateTime, Float
from sqlalchemy.orm import declarative_base, sessionmaker
from dotenv import load_dotenv
import psycopg2
load_dotenv()
db_config= {
"user": os.getenv("POSTGRES_USER"),
"password": os.getenv("POSTGRES_PASSWORD"),
"dbname": os.getenv("POSTGRES_DB"),
"host": os.getenv("POSTGRES_HOST"),
"port": os.getenv("POSTGRES_PORT")
}
def get_connection():
try:
return psycopg2.connect(**db_config)
except Exception as e:
print(f"[ERREUR CONNEXION DB] : {e}")
return None
def log_interaction(user_message, user_lat, user_lon, intention, mot_cle, message, reponse_texte):
conn = get_connection()
if not conn:
print("[INFO] Attention connection echouer")
return
try:
with conn.cursor() as cur:
query = """
INSERT INTO users_interactions
(user_message, user_lat, user_lon, intention, mot_cle, inerne_message, response_text)
VALUES (%s, %s, %s, %s, %s, %s, %s);
"""
values = (
str(user_message),
user_lat,
user_lon,
intention,
mot_cle,
message,
str(reponse_texte)
)
cur.execute(query, values)
conn.commit()
except Exception as e:
print(f"[INFO] Erreur d'insertion : {e}")
conn.rollback()
finally:
# On ferme la connexion
if conn:
conn.close()