43 lines
1.2 KiB
Bash
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
|