Fix: Chargement automatique SQLite/PostgreSQL

CORRECTIF URGENT: L'application chargeait toujours SQLite même avec
PostgreSQL configuré, causant une perte apparente de toutes les données.

Ajout de database-loader.js qui détecte automatiquement:
- DB_TYPE=postgres → PostgreSQL
- DATABASE_URL=postgresql:// → PostgreSQL
- Sinon → SQLite

Tous les routes et services mis à jour pour utiliser database-loader
au lieu de charger directement database.js.

Les données ne sont PAS perdues, elles sont dans PostgreSQL.
L'application se reconnectera correctement après redémarrage.

Fichiers modifiés:
- config/database-loader.js (nouveau)
- server.js
- routes/*.js (11 fichiers)
- services/*.js (2 fichiers)
This commit is contained in:
Claude committed 2025-11-14 09:50:21 +00:00
1 parent 9915f7d010
commit 55a1809e71
13 files changed
+34 -12

No files matched your search

+22
View File
@@ -0,0 +1,22 @@
// Chargeur automatique de base de données (SQLite ou PostgreSQL)
const logger = require('./logger');
// Détecter le type de base de données
const DB_TYPE = process.env.DB_TYPE || 'sqlite';
const DATABASE_URL = process.env.DATABASE_URL;
logger.info(`Configuration de base de données: ${DB_TYPE}`);
// Charger le module approprié
let databaseModule;
if (DB_TYPE === 'postgres' || DATABASE_URL?.startsWith('postgresql://')) {
logger.info('Chargement de la configuration PostgreSQL');
databaseModule = require('./database-postgres');
} else {
logger.info('Chargement de la configuration SQLite');
databaseModule = require('./database');
}
// Exporter toutes les fonctions du module chargé
module.exports = databaseModule;