59 lines
2.0 KiB
Bash
59 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
# Script per riparare le migration duplicate
|
|
# Uso: ./fix-migrations.sh
|
|
|
|
echo "🔧 Riparazione migration duplicate..."
|
|
|
|
REMOTE_USER="michele"
|
|
REMOTE_HOST="192.168.0.43"
|
|
REMOTE_PATH="/var/www/netgescon"
|
|
|
|
echo "📋 Verifica stato migration sul server remoto..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan migrate:status"
|
|
|
|
echo ""
|
|
echo "🗑️ Opzioni disponibili:"
|
|
echo "1. Rollback dell'ultima migration fallita"
|
|
echo "2. Reset completo database (ATTENZIONE: cancella tutti i dati)"
|
|
echo "3. Rimuovi solo la tabella 'rate' problematica"
|
|
echo "4. Verifica solo lo stato senza modifiche"
|
|
|
|
read -p "Scegli un'opzione (1-4): " choice
|
|
|
|
case $choice in
|
|
1)
|
|
echo "🔄 Rollback ultima migration..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan migrate:rollback --step=1"
|
|
;;
|
|
2)
|
|
echo "⚠️ ATTENZIONE: Questo cancellerà tutti i dati!"
|
|
read -p "Sei sicuro? (y/N): " confirm
|
|
if [ "$confirm" = "y" ] || [ "$confirm" = "Y" ]; then
|
|
echo "🗑️ Reset completo database..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan migrate:fresh --seed"
|
|
else
|
|
echo "❌ Operazione annullata"
|
|
fi
|
|
;;
|
|
3)
|
|
echo "🗑️ Rimozione tabella 'rate'..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan tinker --execute=\"DB::statement('DROP TABLE IF EXISTS rate'); echo 'Tabella rate rimossa';\""
|
|
echo "🔄 Riprova migration..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan migrate"
|
|
;;
|
|
4)
|
|
echo "📊 Stato attuale migration:"
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan migrate:status"
|
|
echo ""
|
|
echo "🗃️ Tabelle presenti nel database:"
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan tinker --execute=\"DB::select('SHOW TABLES')\""
|
|
;;
|
|
*)
|
|
echo "❌ Opzione non valida"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo "✅ Operazione completata"
|