<?php
// Script de Reparación de Base de Datos - Tabla Faltante
// Mueve este archivo a la carpeta /ajax/ y ejecútalo desde el navegador
error_reporting(E_ALL);
ini_set('display_errors', 1);

require_once "../config/Conexion.php";

echo "<h2>Herramienta de Diagnóstico y Reparación de Base de Datos</h2>";
echo "<p>Verificando tabla <code>bitacora_evolucion</code>...</p>";

// 1. Verificar si existe
$check = ejecutarConsultaSimpleFila("SHOW TABLES LIKE 'bitacora_evolucion'");

if ($check) {
    echo "<div style='color:green; font-weight:bold;'>✔ La tabla 'bitacora_evolucion' YA EXISTE. Todo correcto.</div>";
    echo "<p>Estructura:</p><pre>";
    $desc = ejecutarConsulta("DESCRIBE bitacora_evolucion");
    while ($row = $desc->fetch_assoc()) {
        print_r($row);
    }
    echo "</pre>";
} else {
    echo "<div style='color:red; font-weight:bold;'>✘ La tabla 'bitacora_evolucion' NO EXISTE. Intentando crearla...</div>";

    // 2. Crear si no existe
    $sql = "CREATE TABLE IF NOT EXISTS `bitacora_evolucion` (
      `idbitacora` int(11) NOT NULL AUTO_INCREMENT,
      `idatencion` int(11) NOT NULL,
      `idpersona` int(11) NOT NULL,
      `idusuario` int(11) NOT NULL,
      `fecha_evolucion` date NOT NULL,
      `hora_evolucion` time NOT NULL,
      `nota` text COLLATE utf8_spanish_ci NOT NULL,
      `estado` varchar(20) COLLATE utf8_spanish_ci NOT NULL DEFAULT 'Activo',
      PRIMARY KEY (`idbitacora`),
      KEY `fk_bitacora_atencion` (`idatencion`),
      KEY `fk_bitacora_persona` (`idpersona`),
      KEY `fk_bitacora_usuario` (`idusuario`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;";

    $res = ejecutarConsulta($sql);

    if ($res) {
        echo "<div style='color:green; font-weight:bold; border:1px solid green; padding:10px; margin-top:10px;'>
        ✔ ¡ÉXITO! La tabla se ha creado correctamente.<br>
        Ahora intenta usar la Evolución nuevamente.
        </div>";
    } else {
        echo "<div style='color:red; font-weight:bold;'>
        ✘ ERROR CRÍTICO al crear la tabla. Revisa los permisos de usuario de BD.
        </div>";
    }
}
?>