Files
GTI_GERENCIADOR_FISCAL/app/db/connection.py
T

23 lines
670 B
Python

"""
Ú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,
)