This commit is contained in:
Lizandro Guarnizo
2026-06-16 16:35:12 -05:00
parent 62c4e7a18c
commit a4a062095e
3 changed files with 186 additions and 7 deletions
+52
View File
@@ -0,0 +1,52 @@
<?php
/**
* Runner — Migración 20260616_turnero_consentimientos_datos
* Agrega columna datos_respuestas a turnero_consentimientos.
* Ejecutar una sola vez desde el navegador o CLI.
*/
require_once __DIR__ . '/config/config.php';
$sqlFile = __DIR__ . '/migrations/20260616_turnero_consentimientos_datos.sql';
if (!file_exists($sqlFile)) {
die("❌ Archivo no encontrado: $sqlFile\n");
}
try {
$pdo = Database::getInstance()->getConnection();
$sql = file_get_contents($sqlFile);
$statements = array_filter(array_map('trim', explode(';', $sql)));
echo "<pre>🚀 Ejecutando migración: 20260616_turnero_consentimientos_datos\n\n";
foreach ($statements as $stmt) {
$clean = preg_replace('/--[^\n]*/', '', $stmt);
$clean = trim($clean);
if (empty($clean)) continue;
try {
$pdo->exec($clean);
$preview = substr(preg_replace('/\s+/', ' ', $clean), 0, 120);
echo "{$preview}\n";
} catch (PDOException $e) {
$msg = $e->getMessage();
if (str_contains($msg, 'Duplicate column') || str_contains($msg, 'errno: 1060')) {
echo "️ (columna ya existe, omitida)\n";
} else {
throw $e;
}
}
}
echo "\n✅ Migración completada.\n";
echo " Columna agregada a <strong>turnero_consentimientos</strong>:\n";
echo " • datos_respuestas (MEDIUMTEXT, JSON con campos llenados al firmar presencialmente)\n</pre>";
$cols = $pdo->query("SHOW COLUMNS FROM turnero_consentimientos")->fetchAll(PDO::FETCH_COLUMN);
echo "<pre>📋 Columnas actuales: " . implode(', ', $cols) . "</pre>";
} catch (Throwable $e) {
echo "<pre>❌ Error: " . htmlspecialchars($e->getMessage()) . "\n</pre>";
}