<?php
/**
 * Ejecuta las migraciones SQL pendientes.
 * Uso: php migrations/run_pendientes.php
 */
require_once __DIR__ . '/../config/config.php';

$pendientes = [
    '20260702_turnero_solicitudes_embarazada.sql',
    '20260703_pago_combinado.sql',
    '20260703_solo_muestras.sql',
    '20260703_medicos.sql',
    '20260703_medicos_seed.sql',
    '20260703_solicitud_medico.sql',
    '20260707_turnero_consent_origen_lugar.sql',
    '20260716_lab_eps_ciudades.sql',
    '20260716_numero_recibo_tarjeta.sql',
];

$pdo = Database::getInstance()->getConnection();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo "\n── Migraciones pendientes ──────────────────\n\n";

foreach ($pendientes as $file) {
    $path = __DIR__ . '/' . $file;
    if (!file_exists($path)) {
        echo "  ⚠  No encontrado: $file\n";
        continue;
    }
    try {
        $pdo->exec(file_get_contents($path));
        echo "  ✅  $file\n";
    } catch (PDOException $e) {
        // Si ya existe la columna/tabla, no es error crítico
        $msg = $e->getMessage();
        if (str_contains($msg, 'Duplicate column') || str_contains($msg, 'already exists')) {
            echo "  ⏭  $file (ya aplicada)\n";
        } else {
            echo "  ❌  $file → $msg\n";
        }
    }
}

echo "\n── Listo ───────────────────────────────────\n\n";
