<?php
/**
 * Migración: índice por fecha en audit_log (la bitácora total registra cada
 * movimiento y crecerá rápido; los filtros Desde/Hasta lo necesitan).
 * Idempotente. Uso: php migracion_auditoria_indice.php
 */
$rootDir = dirname(dirname(__FILE__));
$env = include $rootDir . '/.env.php';
$m = new mysqli('127.0.0.1', $env['DB_USER'], $env['DB_PASS'], 'asisma_crm');
if ($m->connect_error) die("conexión: " . $m->connect_error . "\n");

$idx = $m->query("SHOW INDEX FROM audit_log WHERE Key_name = 'idx_audit_fecha'");
if ($idx->num_rows === 0) {
    if (!$m->query("ALTER TABLE audit_log ADD INDEX idx_audit_fecha (created_at)"))
        die("ALTER: " . $m->error . "\n");
    echo "Índice idx_audit_fecha creado.\n";
} else {
    echo "Índice idx_audit_fecha ya existía.\n";
}
$idx = $m->query("SHOW INDEX FROM audit_log WHERE Key_name = 'idx_audit_accion'");
if ($idx->num_rows === 0) {
    if (!$m->query("ALTER TABLE audit_log ADD INDEX idx_audit_accion (accion)"))
        die("ALTER: " . $m->error . "\n");
    echo "Índice idx_audit_accion creado.\n";
} else {
    echo "Índice idx_audit_accion ya existía.\n";
}
echo "Migración completada.\n";
