1
Fork 0
mirror of https://github.com/wlinator/luminara.git synced 2024-10-02 20:23:12 +00:00

Use mariadb package instead of mysql.connector

This commit is contained in:
wlinator 2024-04-08 15:13:18 -04:00
parent 131c18db50
commit 89b79e5a60
2 changed files with 24 additions and 19 deletions

View file

@ -1,24 +1,34 @@
import logging
import os
import mysql.connector
import mariadb
from dotenv import load_dotenv
logs = logging.getLogger('Racu.Core')
_logs = logging.getLogger('Racu.Core')
load_dotenv('.env')
cnxpool = mysql.connector.pooling.MySQLConnectionPool(
pool_name='core-pool',
pool_size=25,
host='db',
user=os.getenv("MARIADB_USER"),
password=os.getenv("MARIADB_PASSWORD"),
database='racudb'
)
def create_connection_pool(name: str, size: int) -> mariadb.ConnectionPool:
pool = mariadb.ConnectionPool(
host="db",
port=3306,
database="racudb",
user=os.getenv("MARIADB_USER"),
password=os.getenv("MARIADB_PASSWORD"),
pool_name=name,
pool_size=size
)
return pool
try:
_cnxpool = create_connection_pool("core-pool", 25)
except mariadb.Error as e:
_logs.critical(f"[CRITICAL] Couldn't create MariaDB connection pool: {e}")
raise e
def execute_query(query, values=None):
conn = cnxpool.get_connection()
conn = _cnxpool.get_connection()
cursor = conn.cursor()
if values:
@ -28,16 +38,13 @@ def execute_query(query, values=None):
conn.commit()
conn.close()
logs.debug(f"database.execute_query: 'query': {query}, 'values': {values}")
return cursor
def select_query(query, values=None):
conn = cnxpool.get_connection()
conn = _cnxpool.get_connection()
cursor = conn.cursor()
logs.debug(f"database.select_query: 'query': {query}, 'values': {values}")
if values:
cursor.execute(query, values)
output = cursor.fetchall()
@ -50,11 +57,9 @@ def select_query(query, values=None):
def select_query_one(query, values=None):
conn = cnxpool.get_connection()
conn = _cnxpool.get_connection()
cursor = conn.cursor()
logs.debug(f"database.select_query_one: 'query': {query}, 'values': {values}")
if values:
cursor.execute(query, values)
output = cursor.fetchone()

View file

@ -3,5 +3,5 @@ python-dotenv==1.0.1
setuptools==69.2.0
pytz==2024.1
dropbox==11.36.2
mysql-connector-python==8.3.0
mariadb==1.1.10
psutil==5.9.8