netgescon-master/_BACKUP_OLD_netgescon-laravel_INACTIVE/find-duplicates.sh

43 lines
1.2 KiB
Bash

#!/bin/bash
# Script per trovare e rimuovere migration duplicate
# Uso: ./find-duplicates.sh
echo "🔍 Ricerca migration duplicate..."
MIGRATIONS_DIR="database/migrations"
# Trova migration duplicate basandosi sul nome della tabella
echo "📋 Analisi migration esistenti:"
# Estrai i nomi delle tabelle dai file di migration
find $MIGRATIONS_DIR -name "*.php" -exec basename {} \; | \
sed 's/^[0-9_]*_//' | \
sort | uniq -c | sort -nr | \
while read count filename; do
if [ $count -gt 1 ]; then
echo "⚠️ Duplicato trovato: $filename (x$count)"
# Trova tutti i file con questo nome
find $MIGRATIONS_DIR -name "*$filename" | sort | while read file; do
echo " - $file"
done
echo " 🗑️ Rimozione file più recenti..."
# Mantieni solo il più vecchio (primo nell'ordine cronologico)
find $MIGRATIONS_DIR -name "*$filename" | sort | tail -n +2 | while read file; do
echo " ❌ Rimuovo: $file"
rm "$file"
done
echo
fi
done
echo "✅ Pulizia completata!"
# Mostra le migration rimanenti
echo "📋 Migration rimanenti:"
find $MIGRATIONS_DIR -name "*.php" | sort | while read file; do
echo "$(basename $file)"
done