feat: factory de conexao MySQL

This commit is contained in:
Gustavo
2026-08-13 09:45:26 -03:00
parent 669e864141
commit 880329bb8e
3 changed files with 39 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
"""
Única porta de entrada para conexão MySQL do painel. Todo módulo em
app/db/*.py chama get_connection() daqui — nunca abre pymysql.connect()
por conta própria.
"""
import os
import pymysql
import pymysql.cursors
def get_connection() -> pymysql.connections.Connection:
"""Abre uma conexão nova por requisição (escala MVP; sem pool)."""
return pymysql.connect(
host=os.environ["DB_HOST"],
port=int(os.environ.get("DB_PORT", "3306")),
user=os.environ["DB_USER"],
password=os.environ["DB_PASSWORD"],
database=os.environ["DB_NAME"],
cursorclass=pymysql.cursors.DictCursor,
autocommit=True,
)