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