git commit -m "fix: Fehlerbehandlung für fehlende gis_lines-Tabelle und Verwendung des DB-Namens aus .env
- Verhindert Absturz der Anwendung, wenn die gis_lines-Tabelle fehlt - Gibt stattdessen eine Warnung in der Konsole aus - Stellt sicher, dass der Datenbankname dynamisch aus der .env-Datei geladen wird"
This commit is contained in:
@@ -2,29 +2,34 @@
|
||||
import getPool from "../../../../utils/mysqlPool"; // Singleton-Pool importieren
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const pool = getPool(); // Singleton-Pool verwenden
|
||||
const pool = getPool();
|
||||
let connection;
|
||||
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
const query = "SELECT * FROM talas_v5.gis_lines;";
|
||||
const databaseName = process.env.NEXT_PUBLIC_DB_NAME; //talas_v5
|
||||
const query = `SELECT * FROM ${databaseName}.gis_lines;`;
|
||||
|
||||
try {
|
||||
// Verbindung aus dem Pool holen
|
||||
connection = await pool.getConnection();
|
||||
// Abfrage ausführen
|
||||
const [results] = await connection.query(query);
|
||||
|
||||
if (results.length > 0) {
|
||||
res.status(200).json(results);
|
||||
return res.status(200).json(results);
|
||||
} else {
|
||||
res.status(404).json({ error: "Gerät nicht gefunden" });
|
||||
console.warn(`WARNUNG: Die Tabelle ${databaseName}.gis_lines ist leer oder existiert nicht.`);
|
||||
return res.status(200).json({ message: `Die Tabelle ${databaseName}.gis_lines ist leer oder existiert nicht.` });
|
||||
}
|
||||
} catch (error) {
|
||||
if (error.code === "ER_NO_SUCH_TABLE") {
|
||||
console.warn(`WARNUNG: Die Tabelle ${databaseName}.gis_lines existiert nicht.`);
|
||||
return res.status(200).json({ message: `Die Tabelle ${databaseName}.gis_lines existiert nicht.` });
|
||||
}
|
||||
console.error("Fehler beim Abrufen der gis_lines:", error);
|
||||
res.status(500).json({ error: "Fehler beim Abrufen der gis_lines" });
|
||||
return res.status(500).json({ error: "Fehler beim Abrufen der gis_lines" });
|
||||
} finally {
|
||||
if (connection) connection.release(); // Verbindung freigeben
|
||||
if (connection) connection.release();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user