correzione in connection.ts

This commit is contained in:
AV77web 2026-05-27 13:16:56 +02:00
parent c5db715e4c
commit 71ed95251c

View file

@ -34,27 +34,37 @@ function readNumberEnv(name: string, fallback: number): number {
return value; return value;
} }
const poolConfig: PoolOptions = { function createPoolConfig(): PoolOptions {
host: readEnv("MYSQL_HOST", "127.0.0.1"), return {
port: readNumberEnv("MYSQL_PORT", 3306), host: readEnv("MYSQL_HOST", "127.0.0.1"),
user: readEnv("MYSQL_USER"), port: readNumberEnv("MYSQL_PORT", 3306),
password: readEnv("MYSQL_PASSWORD"), user: readEnv("MYSQL_USER"),
database: readEnv("MYSQL_DATABASE"), password: readEnv("MYSQL_PASSWORD"),
waitForConnections: true, database: readEnv("MYSQL_DATABASE"),
connectionLimit: readNumberEnv("MYSQL_CONNECTION_LIMIT", 10), waitForConnections: true,
queueLimit: 0, connectionLimit: readNumberEnv("MYSQL_CONNECTION_LIMIT", 10),
namedPlaceholders: true, queueLimit: 0,
timezone: "Z", namedPlaceholders: true,
}; timezone: "Z",
};
export const db = globalThis.magRicambiMysqlPool ?? mysql.createPool(poolConfig);
if (process.env.NODE_ENV !== "production") {
globalThis.magRicambiMysqlPool = db;
} }
function getPool(): Pool {
if (!globalThis.magRicambiMysqlPool) {
globalThis.magRicambiMysqlPool = mysql.createPool(createPoolConfig());
}
return globalThis.magRicambiMysqlPool;
}
export const db = new Proxy({} as Pool, {
get(_target, property, receiver) {
return Reflect.get(getPool(), property, receiver);
},
});
export async function getDbConnection(): Promise<PoolConnection> { export async function getDbConnection(): Promise<PoolConnection> {
return db.getConnection(); return getPool().getConnection();
} }
export async function testDbConnection(): Promise<void> { export async function testDbConnection(): Promise<void> {