mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
104 lines
4.0 KiB
Markdown
104 lines
4.0 KiB
Markdown
# 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
|
|
```bash
|
|
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:
|
|
1. Attendre que PostgreSQL soit prêt
|
|
2. **Exécuter les migrations de schéma** ✨
|
|
- Ajouter les colonnes `parent_id` et `level` pour les subtasks
|
|
- Ajouter tous les autres champs manquants
|
|
3. **Corriger automatiquement les types booléens**
|
|
- Convertir INTEGER → BOOLEAN pour les champs concernés
|
|
4. 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
|
|
```bash
|
|
cd /chemin/vers/noteflow
|
|
git pull origin claude/fix-notes-sync-issue-01AMeEdrKQErsM7bvhKkqEEF
|
|
```
|
|
|
|
### Étape 2 : Exécuter le script de correction
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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:
|
|
|
|
```sql
|
|
-- 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 BOOLEAN
|
|
- `6f2f366` - 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:
|
|
1. La connexion PostgreSQL fonctionne: `psql -U noteflow -d noteflow -c "SELECT 1"`
|
|
2. Le fichier .env contient bien DATABASE_URL
|
|
3. Les logs du serveur: `pm2 logs noteflow` ou `journalctl -u noteflow -f`
|