feat: factory de conexao MySQL
This commit is contained in:
@@ -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,
|
||||
)
|
||||
Reference in New Issue
Block a user