#!/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