Files
whatsapp/run_migration_lugar_grupo.php
T
2026-06-16 13:04:59 -05:00

48 lines
1.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* Runner — Migración 20260616: grupo_id en turnero_lugares
* Ejecutar una sola vez desde el navegador o CLI.
*/
require_once __DIR__ . '/config/config.php';
$sqlFile = __DIR__ . '/migrations/20260616_turnero_lugar_grupo.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_lugar_grupo\n\n";
foreach ($statements as $stmt) {
$clean = preg_replace('/--[^\n]*/', '', $stmt);
$clean = trim($clean);
if (empty($clean)) continue;
try {
$pdo->exec($clean);
echo "✓ " . substr(preg_replace('/\s+/', ' ', $clean), 0, 120) . "\n";
} catch (PDOException $e) {
$msg = $e->getMessage();
if (str_contains($msg, 'Duplicate column') || str_contains($msg, 'errno: 1060')) {
echo "️ (columna ya existe)\n";
} else {
throw $e;
}
}
}
echo "\n✅ Migración completada.\n\n";
echo "📋 Grupos configurados:\n";
$rows = $pdo->query("SELECT id, nombre, grupo_id FROM turnero_lugares ORDER BY grupo_id, sort_order")->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $r) {
$g = $r['grupo_id'] ? "grupo {$r['grupo_id']}" : 'individual';
echo " [{$r['id']}] {$r['nombre']}$g\n";
}
echo "</pre>";
} catch (Throwable $e) {
echo "<pre>❌ Error: " . htmlspecialchars($e->getMessage()) . "\n</pre>";
}