netgescon-master/docs/03-scripts-automazione/manage-database.sh
Pikappa2 480e7eafbd 🎯 NETGESCON - Setup iniziale repository completo
📋 Commit iniziale con:
-  Documentazione unificata in docs/
-  Codice Laravel in netgescon-laravel/
-  Script automazione in scripts/
-  Configurazione sync rsync
-  Struttura organizzata e pulita

🔄 Versione: 2025.07.19-1644
🎯 Sistema pronto per Git distribuito
2025-07-19 16:44:47 +02:00

47 lines
1.6 KiB
Bash

#!/bin/bash
# Script di gestione database unificato
# Uso: ./manage-database.sh [fresh|migrate|schema]
ACTION=${1:-migrate}
REMOTE_USER="michele"
REMOTE_HOST="192.168.0.43"
REMOTE_PATH="/var/www/netgescon"
case $ACTION in
fresh)
echo "🗑️ Database fresh (elimina tutto e ricrea)..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && \
rm -f database/schema/mysql-schema.sql && \
php artisan migrate:fresh --seed"
;;
migrate)
echo "🔄 Solo migration incrementali..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && \
rm -f database/schema/mysql-schema.sql && \
php artisan migrate --force"
;;
schema)
echo "📊 Genera nuovo schema dopo migration..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && \
php artisan schema:dump --prune"
;;
repair)
echo "🔧 Ripara database conflittuale..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && \
mysql -u netgescon_user -p -e 'SET FOREIGN_KEY_CHECKS = 0; DROP DATABASE netgescon; CREATE DATABASE netgescon CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; SET FOREIGN_KEY_CHECKS = 1;' && \
rm -f database/schema/mysql-schema.sql && \
php artisan migrate:fresh --seed"
;;
*)
echo "Uso: $0 [fresh|migrate|schema|repair]"
echo " fresh: Elimina tutto e ricrea database"
echo " migrate: Solo migration incrementali (default)"
echo " schema: Genera nuovo schema"
echo " repair: Ripara database conflittuale"
exit 1
;;
esac
echo "✅ Operazione completata!"