Uecko_ERP_FactuGES_sync/app/db/db_connection.py

45 lines
1.8 KiB
Python
Raw Normal View History

2025-08-28 08:51:05 +00:00
import fdb
import mysql.connector
2025-11-30 18:28:44 +00:00
from app.config import logger
2025-08-28 08:51:05 +00:00
def get_factuges_connection(config):
try:
conn = fdb.connect(
host=config['FACTUGES_HOST'],
port=int(config['FACTUGES_PORT']),
database=config['FACTUGES_DATABASE'],
user=config['FACTUGES_USER'],
password=config['FACTUGES_PASSWORD'],
charset='UTF8'
)
2025-11-30 18:28:44 +00:00
logger.info(
2025-08-28 08:51:05 +00:00
f"Conexión a la base de datos FactuGES establecida: {config['FACTUGES_HOST']} with database:{config['FACTUGES_DATABASE']} - using user:{config['FACTUGES_USER']}")
return conn
except Exception as e:
2025-11-30 18:28:44 +00:00
logger.error("Error al conectar a la base de datos FactuGES.")
logger.error(
2025-08-28 08:51:05 +00:00
f"(ERROR) Failed to establish connection to: {config['FACTUGES_HOST']} with database:{config['FACTUGES_DATABASE']} - using user:{config['FACTUGES_USER']}")
2025-11-30 18:28:44 +00:00
logger.error(str(e))
2025-08-28 08:51:05 +00:00
raise e
def get_mysql_connection(config):
try:
conn = mysql.connector.connect(
2025-11-30 18:28:44 +00:00
host=config['FWEB_MYSQL_HOST'],
port=config['FWEB_MYSQL_PORT'],
database=config['FWEB_MYSQL_DATABASE'],
user=config['FWEB_MYSQL_USER'],
password=config['FWEB_MYSQL_PASSWORD']
2025-08-28 08:51:05 +00:00
)
2025-11-30 18:28:44 +00:00
logger.info(
f"Conexión a la base de datos MySQL establecida a: {config['FWEB_MYSQL_HOST']} with database:{config['FWEB_MYSQL_DATABASE']} - using user:{config['FWEB_MYSQL_USER']}")
2025-08-28 08:51:05 +00:00
return conn
except Exception as e:
2025-11-30 18:28:44 +00:00
logger.error("Error al conectar a la base de datos MySQL.")
logger.error(
f"(ERROR) Failed to establish connection to: {config['FWEB_MYSQL_HOST']} with database:{config['FWEB_MYSQL_DATABASE']} - using user:{config['FWEB_MYSQL_USER']}")
logger.error(str(e))
2025-08-28 08:51:05 +00:00
raise e