57 lines
1.5 KiB
PHP
57 lines
1.5 KiB
PHP
<?php
|
|
require_once __DIR__ . '/config/config.php';
|
|
|
|
$db = Database::getInstance();
|
|
|
|
echo "🔄 Leyendo archivo de migración...\n";
|
|
$sqlFile = __DIR__ . '/database/02_add_template_components.sql';
|
|
$sql = file_get_contents($sqlFile);
|
|
|
|
echo "Tamaño del archivo: " . strlen($sql) . " bytes\n\n";
|
|
|
|
// Dividir por punto y coma, pero preservando las líneas
|
|
$lines = explode("\n", $sql);
|
|
$currentStatement = '';
|
|
$statements = [];
|
|
|
|
foreach ($lines as $line) {
|
|
$line = trim($line);
|
|
|
|
// Saltar comentarios y líneas vacías
|
|
if (empty($line) || strpos($line, '--') === 0) {
|
|
continue;
|
|
}
|
|
|
|
$currentStatement .= $line . ' ';
|
|
|
|
// Si termina en punto y coma, es el final de la sentencia
|
|
if (substr(trim($line), -1) === ';') {
|
|
$statements[] = trim($currentStatement);
|
|
$currentStatement = '';
|
|
}
|
|
}
|
|
|
|
echo "📊 Sentencias encontradas: " . count($statements) . "\n\n";
|
|
|
|
$count = 0;
|
|
foreach ($statements as $i => $stmt) {
|
|
echo "Ejecutando sentencia " . ($i + 1) . "...\n";
|
|
echo "Preview: " . substr($stmt, 0, 100) . "...\n";
|
|
|
|
try {
|
|
$db->execute($stmt);
|
|
$count++;
|
|
echo " ✓ OK\n\n";
|
|
} catch (Exception $e) {
|
|
echo " ✗ Error: " . $e->getMessage() . "\n\n";
|
|
}
|
|
}
|
|
|
|
echo "✅ Total ejecutadas exitosamente: $count\n\n";
|
|
|
|
echo "📋 Columnas actuales de message_templates:\n";
|
|
$cols = $db->fetchAll('DESCRIBE message_templates');
|
|
foreach($cols as $c) {
|
|
echo " - {$c['Field']} ({$c['Type']})\n";
|
|
}
|