52 lines
1.4 KiB
PHP
52 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Script temporal para ejecutar migración de base de datos
|
|
*/
|
|
|
|
require_once __DIR__ . '/config/config.php';
|
|
|
|
try {
|
|
$db = Database::getInstance();
|
|
$sqlFile = __DIR__ . '/database/02_add_template_components.sql';
|
|
|
|
if (!file_exists($sqlFile)) {
|
|
die("❌ Archivo no encontrado: $sqlFile\n");
|
|
}
|
|
|
|
$sql = file_get_contents($sqlFile);
|
|
|
|
// Dividir en sentencias individuales
|
|
$statements = array_filter(array_map('trim', explode(';', $sql)));
|
|
|
|
echo "🚀 Ejecutando migración...\n\n";
|
|
|
|
foreach ($statements as $stmt) {
|
|
// Saltar comentarios y líneas vacías
|
|
if (empty($stmt) || preg_match('/^--/', $stmt)) {
|
|
continue;
|
|
}
|
|
|
|
try {
|
|
$db->execute($stmt);
|
|
$preview = substr(preg_replace('/\s+/', ' ', $stmt), 0, 80);
|
|
echo "✓ Ejecutado: {$preview}...\n";
|
|
} catch (Exception $e) {
|
|
echo "✗ Error: " . $e->getMessage() . "\n";
|
|
echo " SQL: " . substr($stmt, 0, 100) . "...\n";
|
|
}
|
|
}
|
|
|
|
echo "\n✅ Migración completada\n\n";
|
|
|
|
// Verificar columnas agregadas
|
|
echo "📋 Verificando columnas de message_templates:\n";
|
|
$cols = $db->fetchAll('DESCRIBE message_templates');
|
|
foreach ($cols as $col) {
|
|
echo " - {$col['Field']} ({$col['Type']})\n";
|
|
}
|
|
|
|
} catch (Exception $e) {
|
|
echo "❌ Error fatal: " . $e->getMessage() . "\n";
|
|
exit(1);
|
|
}
|