4.0 KiB
Instructions de déploiement - Correction des notes
Problème actuel
Erreur 500 sur /api/notes - Les notes ne s'affichent pas
Causes identifiées
1. Colonnes manquantes (PRINCIPAL)
Les colonnes parent_id et level ajoutées pendant les phases 1-5 pour le support des subtasks n'existaient pas dans la base PostgreSQL de production.
2. Types booléens incorrects (SECONDAIRE)
Les données booléennes migrées de SQLite sont stockées en INTEGER (0/1) au lieu de BOOLEAN (TRUE/FALSE).
✅ Solution AUTOMATIQUE (Recommandée)
La correction se fait automatiquement au démarrage de Docker !
Déploiement avec Docker
cd /chemin/vers/noteflow
git pull origin claude/fix-notes-sync-issue-01AMeEdrKQErsM7bvhKkqEEF
docker-compose down
docker-compose up -d --build
Le conteneur Docker va automatiquement:
- Attendre que PostgreSQL soit prêt
- Exécuter les migrations de schéma ✨
- Ajouter les colonnes
parent_idetlevelpour les subtasks - Ajouter tous les autres champs manquants
- Ajouter les colonnes
- Corriger automatiquement les types booléens
- Convertir INTEGER → BOOLEAN pour les champs concernés
- Démarrer le serveur
C'est tout ! Les notes s'afficheront correctement après le redémarrage.
Note: Les migrations sont idempotentes et ne causeront aucune perte de données.
Solution manuelle (Si vous n'utilisez pas Docker)
Étape 1 : Déployer le nouveau code
cd /chemin/vers/noteflow
git pull origin claude/fix-notes-sync-issue-01AMeEdrKQErsM7bvhKkqEEF
Étape 2 : Exécuter le script de correction
# Option A: Script Node.js
node scripts/fix-boolean-data.js
# Option B: Script SQL (plus rapide)
psql -U noteflow -d noteflow -f scripts/fix-postgres-boolean-types.sql
Étape 3 : Redémarrer le serveur
# Si vous utilisez PM2:
pm2 restart noteflow
# Si vous utilisez systemd:
sudo systemctl restart noteflow
# Ou simplement:
npm run start
Étape 4 : Vérifier
Ouvrez https://note.ffnancy.fr et vérifiez que les notes s'affichent correctement.
Alternative manuelle (SQL direct)
Si le script ne fonctionne pas, vous pouvez exécuter ces commandes SQL directement:
-- Se connecter à PostgreSQL
psql -U noteflow -d noteflow
-- Convertir les colonnes
ALTER TABLE users ALTER COLUMN is_admin TYPE BOOLEAN USING CASE WHEN is_admin = 0 THEN FALSE WHEN is_admin = 1 THEN TRUE ELSE is_admin::BOOLEAN END;
ALTER TABLE notes ALTER COLUMN archived TYPE BOOLEAN USING CASE WHEN archived = 0 THEN FALSE WHEN archived = 1 THEN TRUE ELSE archived::BOOLEAN END;
ALTER TABLE note_todos ALTER COLUMN completed TYPE BOOLEAN USING CASE WHEN completed = 0 THEN FALSE WHEN completed = 1 THEN TRUE ELSE completed::BOOLEAN END;
ALTER TABLE note_todos ALTER COLUMN priority TYPE BOOLEAN USING CASE WHEN priority = 0 THEN FALSE WHEN priority = 1 THEN TRUE ELSE priority::BOOLEAN END;
ALTER TABLE global_todos ALTER COLUMN completed TYPE BOOLEAN USING CASE WHEN completed = 0 THEN FALSE WHEN completed = 1 THEN TRUE ELSE completed::BOOLEAN END;
ALTER TABLE global_todos ALTER COLUMN priority TYPE BOOLEAN USING CASE WHEN priority = 0 THEN FALSE WHEN priority = 1 THEN TRUE ELSE priority::BOOLEAN END;
ALTER TABLE rss_feeds ALTER COLUMN enabled TYPE BOOLEAN USING CASE WHEN enabled = 0 THEN FALSE WHEN enabled = 1 THEN TRUE ELSE enabled::BOOLEAN END;
ALTER TABLE calendar_events ALTER COLUMN all_day TYPE BOOLEAN USING CASE WHEN all_day = 0 THEN FALSE WHEN all_day = 1 THEN TRUE ELSE all_day::BOOLEAN END;
Commits déployés
616e257- Correction initiale des types BOOLEAN6f2f366- Correction des champs INTEGER (priority, in_progress)a8ebca6- Ajout du script de correction des données
Support
Si vous rencontrez des problèmes, vérifiez:
- La connexion PostgreSQL fonctionne:
psql -U noteflow -d noteflow -c "SELECT 1" - Le fichier .env contient bien DATABASE_URL
- Les logs du serveur:
pm2 logs noteflowoujournalctl -u noteflow -f