#!/bin/bash echo "" echo "🐘 MIGRATION VERS POSTGRESQL" echo "═══════════════════════════════════════════════════════" echo "" echo "Cette opΓ©ration va:" echo " 1. Activer PostgreSQL" echo " 2. Migrer toutes vos donnΓ©es SQLite β†’ PostgreSQL" echo " 3. Reconfigurer l'application" echo "" echo "⚠️ IMPORTANT:" echo " - La base SQLite sera conservΓ©e (backup automatique)" echo " - La migration prend environ 1-2 minutes" echo " - Vos donnΓ©es ne seront PAS supprimΓ©es" echo "" read -p "Continuer? (o/N) " -n 1 -r echo if [[ ! $REPLY =~ ^[Oo]$ ]]; then echo "❌ AnnulΓ©" exit 1 fi echo "" echo "πŸ“‹ Γ‰tape 1/5: Sauvegarde de la base SQLite..." cp data/notes.db data/notes.db.backup-$(date +%Y%m%d-%H%M%S) echo " βœ… Backup créé: data/notes.db.backup-*" echo "" echo "πŸ“‹ Γ‰tape 2/5: Activation de PostgreSQL..." # DΓ©commenter les lignes PostgreSQL sed -i 's|^# - DATABASE_URL=| - DATABASE_URL=|g' docker-compose.yml sed -i 's|^# - DB_TYPE=postgres| - DB_TYPE=postgres|g' docker-compose.yml echo " βœ… Configuration PostgreSQL activΓ©e" echo "" echo "πŸ“‹ Γ‰tape 3/5: RedΓ©marrage des containers..." docker-compose down docker-compose build notes-app docker-compose up -d echo "" echo "πŸ“‹ Γ‰tape 4/5: Attente dΓ©marrage PostgreSQL..." for i in {1..30}; do if docker exec noteflow-postgres pg_isready -U noteflow -d noteflow -p 5499 >/dev/null 2>&1; then echo " βœ… PostgreSQL prΓͺt" break fi echo -n "." sleep 1 done echo "" echo "" echo "πŸ“‹ Γ‰tape 5/5: Migration des donnΓ©es..." docker exec -e SQLITE_PATH=/app/data-sqlite/notes.db notes-todo-app node scripts/migrate-sqlite-to-postgres.js if [ $? -eq 0 ]; then echo "" echo "═══════════════════════════════════════════════════════" echo "βœ… MIGRATION RΓ‰USSIE!" echo "" echo "PostgreSQL est maintenant actif avec toutes vos donnΓ©es." echo "" echo "πŸ” VΓ©rification:" node scripts/check-data.js echo "" echo "🌐 AccΓ©dez Γ  votre application:" echo " http://localhost:2222" echo "" echo "πŸ“¦ Backup SQLite disponible dans:" echo " data/notes.db.backup-*" echo "" echo "═══════════════════════════════════════════════════════" else echo "" echo "❌ ERREUR LORS DE LA MIGRATION" echo "" echo "Pour revenir Γ  SQLite:" echo " bash scripts/restore-sqlite.sh" echo "" echo "Logs d'erreur:" docker-compose logs notes-app | tail -20 fi echo ""