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