mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
SOLUTION FINALE du problème de décalage horaire: PROBLÈME IDENTIFIÉ: Avec SQLite: dates stockées comme strings, renvoyées comme strings ✅ Avec PostgreSQL: TIMESTAMPTZ automatiquement parsé en objets Date ❌ Le driver node-postgres (pg) convertit automatiquement les TIMESTAMPTZ en objets JavaScript Date, ce qui causait des problèmes de timezone différents de quand les dates étaient des strings avec SQLite. SOLUTION APPLIQUÉE: 1. config/database.js lignes 6-12: - Import de 'types' depuis pg - types.setTypeParser(1184, ...) - 1184 = OID de TIMESTAMPTZ - Retourne la string ISO au lieu d'un objet Date 2. scripts/test-date-format.js (nouveau): - Script de test pour vérifier format des dates - Insère événement test à 10h Paris - Vérifie comment PostgreSQL stocke et renvoie - Compare avec comportement SQLite - Diagnostic complet COMPORTEMENT MAINTENANT: PostgreSQL stocke: 2025-11-14 09:00:00+00 (UTC) Driver pg renvoie: "2025-11-14T09:00:00Z" (string ISO) Frontend parse: new Date("2025-11-14T09:00:00Z") Frontend affiche: toLocaleTimeString(..., timeZone: 'Europe/Paris') = "10:00" C'est le même comportement qu'avec SQLite! ✅ APRÈS REBUILD: Les dates seront renvoyées comme strings ISO au lieu d'objets Date, exactement comme avec SQLite, et l'affichage sera correct. Plus besoin de: - Migration timezone complexe - Conversion timezone backend - Le frontend gère tout avec timeZone: 'Europe/Paris' Fichiers modifiés: - config/database.js (types.setTypeParser) - scripts/test-date-format.js (nouveau, diagnostic)