<?php
/**
 * Script temporal para ejecutar migración de base de datos
 */

require_once __DIR__ . '/config/config.php';

try {
    $db = Database::getInstance();
    $sqlFile = __DIR__ . '/database/02_add_template_components.sql';
    
    if (!file_exists($sqlFile)) {
        die("❌ Archivo no encontrado: $sqlFile\n");
    }
    
    $sql = file_get_contents($sqlFile);
    
    // Dividir en sentencias individuales
    $statements = array_filter(array_map('trim', explode(';', $sql)));
    
    echo "🚀 Ejecutando migración...\n\n";
    
    foreach ($statements as $stmt) {
        // Saltar comentarios y líneas vacías
        if (empty($stmt) || preg_match('/^--/', $stmt)) {
            continue;
        }
        
        try {
            $db->execute($stmt);
            $preview = substr(preg_replace('/\s+/', ' ', $stmt), 0, 80);
            echo "✓ Ejecutado: {$preview}...\n";
        } catch (Exception $e) {
            echo "✗ Error: " . $e->getMessage() . "\n";
            echo "   SQL: " . substr($stmt, 0, 100) . "...\n";
        }
    }
    
    echo "\n✅ Migración completada\n\n";
    
    // Verificar columnas agregadas
    echo "📋 Verificando columnas de message_templates:\n";
    $cols = $db->fetchAll('DESCRIBE message_templates');
    foreach ($cols as $col) {
        echo "  - {$col['Field']} ({$col['Type']})\n";
    }
    
} catch (Exception $e) {
    echo "❌ Error fatal: " . $e->getMessage() . "\n";
    exit(1);
}
