import mysql from 'mysql2/promise'; import { config } from './config.mjs'; let pool; export function getPool() { if (!pool) { pool = mysql.createPool({ ...config.db, waitForConnections: true, connectionLimit: 10, queueLimit: 0, charset: 'utf8mb4', timezone: 'Z', dateStrings: ['DATE'], }); } return pool; } /** Consulta que devuelve filas. */ export async function q(sql, params = []) { const [rows] = await getPool().execute(sql, params); return rows; } /** Consulta que devuelve la primera fila o null. */ export async function q1(sql, params = []) { const rows = await q(sql, params); return rows[0] ?? null; } /** INSERT/UPDATE/DELETE; devuelve el ResultSetHeader. */ export async function exec(sql, params = []) { const [res] = await getPool().execute(sql, params); return res; } export async function cerrar() { if (pool) await pool.end(); pool = undefined; }