mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
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:
13 files changed
+34
-12
No files matched your search
@@ -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;
|
||||||
@@ -4,7 +4,7 @@ const router = express.Router();
|
|||||||
const bcrypt = require('bcrypt');
|
const bcrypt = require('bcrypt');
|
||||||
const { body, validationResult } = require('express-validator');
|
const { body, validationResult } = require('express-validator');
|
||||||
|
|
||||||
const { getOne } = require('../config/database');
|
const { getOne } = require('../config/database-loader');
|
||||||
const { generateToken, authenticateToken } = require('../middleware/auth');
|
const { generateToken, authenticateToken } = require('../middleware/auth');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
const express = require('express');
|
const express = require('express');
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const { google } = require('googleapis');
|
const { google } = require('googleapis');
|
||||||
const { getAll, getOne, runQuery } = require('../config/database');
|
const { getAll, getOne, runQuery } = require('../config/database-loader');
|
||||||
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const path = require('path');
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const { body, validationResult } = require('express-validator');
|
const { body, validationResult } = require('express-validator');
|
||||||
|
|
||||||
const { getAll, getOne, runQuery } = require('../config/database');
|
const { getAll, getOne, runQuery } = require('../config/database-loader');
|
||||||
const { authenticateToken } = require('../middleware/auth');
|
const { authenticateToken } = require('../middleware/auth');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
const express = require('express');
|
const express = require('express');
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
||||||
const { getOne } = require('../config/database');
|
const { getOne } = require('../config/database-loader');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
// Cache pour les modèles (rafraîchi toutes les heures)
|
// Cache pour les modèles (rafraîchi toutes les heures)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ const express = require('express');
|
|||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const Parser = require('rss-parser');
|
const Parser = require('rss-parser');
|
||||||
const axios = require('axios');
|
const axios = require('axios');
|
||||||
const { getAll, getOne, runQuery } = require('../config/database');
|
const { getAll, getOne, runQuery } = require('../config/database-loader');
|
||||||
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ const express = require('express');
|
|||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const Parser = require('rss-parser');
|
const Parser = require('rss-parser');
|
||||||
const axios = require('axios');
|
const axios = require('axios');
|
||||||
const { getAll, getOne, runQuery } = require('../config/database');
|
const { getAll, getOne, runQuery } = require('../config/database-loader');
|
||||||
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Routes de gestion des paramètres
|
// Routes de gestion des paramètres
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const { getAll, getOne, runQuery } = require('../config/database');
|
const { getAll, getOne, runQuery } = require('../config/database-loader');
|
||||||
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ const express = require('express');
|
|||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const { body, validationResult } = require('express-validator');
|
const { body, validationResult } = require('express-validator');
|
||||||
|
|
||||||
const { getAll, getOne, runQuery } = require('../config/database');
|
const { getAll, getOne, runQuery } = require('../config/database-loader');
|
||||||
const { authenticateToken } = require('../middleware/auth');
|
const { authenticateToken } = require('../middleware/auth');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ const router = express.Router();
|
|||||||
const bcrypt = require('bcrypt');
|
const bcrypt = require('bcrypt');
|
||||||
const { body, validationResult } = require('express-validator');
|
const { body, validationResult } = require('express-validator');
|
||||||
|
|
||||||
const { getAll, getOne, runQuery } = require('../config/database');
|
const { getAll, getOne, runQuery } = require('../config/database-loader');
|
||||||
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
const { authenticateToken, requireAdmin } = require('../middleware/auth');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ const path = require('path');
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
const logger = require('./config/logger');
|
const logger = require('./config/logger');
|
||||||
const { initDatabase } = require('./config/database');
|
const { initDatabase } = require('./config/database-loader');
|
||||||
|
|
||||||
// Créer l'application Express
|
// Créer l'application Express
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Service RSS NOUVEAU - Architecture simple et robuste
|
// Service RSS NOUVEAU - Architecture simple et robuste
|
||||||
const Parser = require('rss-parser');
|
const Parser = require('rss-parser');
|
||||||
const { getAll, getOne, runQuery } = require('../config/database');
|
const { getAll, getOne, runQuery } = require('../config/database-loader');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
const parser = new Parser({
|
const parser = new Parser({
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Service RSS NOUVEAU - Architecture simple et robuste
|
// Service RSS NOUVEAU - Architecture simple et robuste
|
||||||
const Parser = require('rss-parser');
|
const Parser = require('rss-parser');
|
||||||
const { getAll, getOne, runQuery } = require('../config/database');
|
const { getAll, getOne, runQuery } = require('../config/database-loader');
|
||||||
const logger = require('../config/logger');
|
const logger = require('../config/logger');
|
||||||
|
|
||||||
const parser = new Parser({
|
const parser = new Parser({
|
||||||
|
|||||||
Reference in new issue
Block a user