mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
Added tools to resolve the 500 error when notes don't display due to boolean type mismatches between SQLite (0/1) and PostgreSQL (TRUE/FALSE). New files: - scripts/fix-boolean-data.js: Converts INTEGER columns to BOOLEAN type and migrates existing 0/1 data to FALSE/TRUE - scripts/README-FIXES.md: Instructions for running the fix script Improved: - scripts/migrate-sqlite-to-postgres.js: Now automatically converts 0/1 to FALSE/TRUE for known boolean columns during migration This resolves issues where: - Migrated data contains INTEGER values (0/1) instead of BOOLEAN - SQL queries using "completed = TRUE" fail to match rows - API endpoints return 500 errors To fix an existing database, run: node scripts/fix-boolean-data.js
1.8 KiB
1.8 KiB
Scripts de correction PostgreSQL
Problème: Notes ne s'affichent pas (Erreur 500)
Si vous voyez une erreur 500 sur /api/notes après la migration vers PostgreSQL, c'est probablement dû à un problème de conversion des données booléennes.
Cause
Lors de la migration de SQLite vers PostgreSQL:
- SQLite stocke les booléens comme INTEGER (0/1)
- PostgreSQL utilise le type BOOLEAN (TRUE/FALSE)
- Si les données ont été migrées sans conversion, les valeurs restent en INTEGER
- Les requêtes SQL qui utilisent
completed = TRUEéchouent
Solution
Exécutez le script de correction sur votre base de données de production:
# Sur le serveur de production
cd /path/to/noteflow
node scripts/fix-boolean-data.js
Ce script va:
- Se connecter à votre base PostgreSQL
- Vérifier les types des colonnes booléennes
- Convertir les colonnes INTEGER en BOOLEAN si nécessaire
- Convertir automatiquement les valeurs 0/1 en FALSE/TRUE
Colonnes concernées
users.is_adminnotes.archivednote_todos.completed,note_todos.priorityglobal_todos.completed,global_todos.priorityrss_feeds.enabledcalendar_events.all_day
Variables d'environnement
Le script utilise DATABASE_URL de votre fichier .env:
DATABASE_URL=postgresql://noteflow:password@localhost:5499/noteflow
Migration future
Le script migrate-sqlite-to-postgres.js a été amélioré pour convertir automatiquement les booléens lors des futures migrations. Vous n'aurez plus besoin d'exécuter fix-boolean-data.js après de nouvelles migrations.
Vérification
Après l'exécution du script, redémarrez votre serveur et vérifiez que les notes s'affichent correctement.
pm2 restart noteflow
# ou
systemctl restart noteflow