feat(backend): Verbesserung der Server- und Umgebungsvariablen-Logik

- Hinzufügen von detaillierten Konsolenausgaben zur Überwachung des Serverstarts und der Umgebungsvariablen.
- Implementierung von Fehlerbehandlungen beim Laden der .env-Datei und Überprüfung der erforderlichen Umgebungsvariablen.
- Optimierung der Datenbank-Synchronisation mit klaren Erfolgsmeldungen und Fehlerausgaben.
This commit is contained in:
Torsten Schulz (local)
2025-08-29 10:03:20 +02:00
parent eaefc30c37
commit deb791d1da
2 changed files with 75 additions and 5 deletions

View File

@@ -6,15 +6,58 @@ import dotenv from 'dotenv';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
console.log('🔍 [loadEnv] Starte Umgebungsvariablen-Loader...');
console.log('🔍 [loadEnv] Aktuelles Verzeichnis:', process.cwd());
console.log('🔍 [loadEnv] __dirname:', __dirname);
// Resolve backend/.env regardless of cwd
const envPath = path.resolve(__dirname, '../.env');
console.log('🔍 [loadEnv] .env Pfad:', envPath);
// Prüfe ob .env-Datei existiert
import fs from 'fs';
if (fs.existsSync(envPath)) {
console.log('✅ [loadEnv] .env-Datei gefunden');
// Datei-Inhalt prüfen (ohne Passwörter)
const envContent = fs.readFileSync(envPath, 'utf8');
const envLines = envContent.split('\n').filter(line => line.trim() && !line.startsWith('#'));
console.log('📄 [loadEnv] .env-Datei enthält', envLines.length, 'Variablen');
// Zeige Variablen-Namen (ohne Werte)
envLines.forEach(line => {
const [key] = line.split('=');
if (key) {
console.log(' 📋', key.trim());
}
});
} else {
console.log('❌ [loadEnv] .env-Datei nicht gefunden!');
}
// Lade .env-Datei
const result = dotenv.config({ path: envPath });
if (result.error) {
console.warn('[env] Konnte .env nicht laden:', result.error.message);
console.error('❌ [loadEnv] Fehler beim Laden der .env-Datei:', result.error.message);
} else {
console.log('✅ [loadEnv] .env-Datei erfolgreich geladen');
// Prüfe wichtige Umgebungsvariablen
console.log('🔍 [loadEnv] Wichtige Umgebungsvariablen:');
console.log(' DB_HOST:', process.env.DB_HOST);
console.log(' DB_USER:', process.env.DB_USER);
console.log(' DB_PASS:', process.env.DB_PASS ? '***' : 'undefined');
console.log(' DB_NAME:', process.env.DB_NAME);
console.log(' DB_PORT:', process.env.DB_PORT);
console.log(' NODE_ENV:', process.env.NODE_ENV);
console.log(' PORT:', process.env.PORT);
if (!process.env.SECRET_KEY) {
console.warn('[env] SECRET_KEY nicht gesetzt in .env');
console.warn('⚠️ [loadEnv] SECRET_KEY nicht gesetzt in .env');
} else {
console.log('✅ [loadEnv] SECRET_KEY ist gesetzt');
}
}
console.log('🔍 [loadEnv] Umgebungsvariablen-Loader abgeschlossen');
export {};