Files
nodeMap/utils/mysqlPool.js
ISA a2d3338624 fix: kein DB Verbindung von der Anwendung
Der Fehler war, dass im Code die Funktion getDebugLog() verwendet wurde, die nicht definiert war.
Dadurch ist beim Erstellen des Datenbank-Pools ein Fehler aufgetreten, bevor überhaupt eine Verbindung zur Datenbank aufgebaut werden konnte.

Erst nachdem die Debug-Logik entfernt wurde, konnte die Verbindung erfolgreich hergestellt werden.
Das Problem lag also nicht an der Datenbank oder an den Zugangsdaten, sondern an einem fehlenden bzw. nicht importierten Hilfsfunktion im Pool-Code.
2025-09-12 12:19:51 +02:00

50 lines
1.1 KiB
JavaScript

import mysql from "mysql2/promise";
let cachedPool;
let connectionCount = 0;
function getPool() {
if (!cachedPool) {
cachedPool = mysql.createPool({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
port: process.env.DB_PORT,
connectionLimit: 20,
waitForConnections: true,
queueLimit: 10,
connectTimeout: 5000,
idleTimeout: 60000,
});
// Ereignisse für das Protokollieren der Verbindungsstatistiken
let maxUsed = 0;
cachedPool.on("acquire", () => {
connectionCount++;
// Debug-Logging entfernt
if (connectionCount > maxUsed) {
maxUsed = connectionCount;
}
});
cachedPool.on("release", () => {
connectionCount--;
});
cachedPool.on("enqueue", () => {
// Debug-Logging entfernt
});
}
return cachedPool;
}
export function closePool() {
if (cachedPool) {
cachedPool.end(() => {
console.log("All pool connections closed.");
});
cachedPool = null;
}
}
export default getPool;