chore(migrations): script para correr migraciones pendientes de una vez
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
bb6ee12e0a
commit
48f9e32c22
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
* Ejecuta las migraciones SQL pendientes.
|
||||
* Uso: php migrations/run_pendientes.php
|
||||
*/
|
||||
require_once __DIR__ . '/../config/config.php';
|
||||
|
||||
$pendientes = [
|
||||
'20260702_turnero_solicitudes_embarazada.sql',
|
||||
'20260703_pago_combinado.sql',
|
||||
'20260703_solo_muestras.sql',
|
||||
'20260703_medicos.sql',
|
||||
];
|
||||
|
||||
$pdo = Database::getInstance()->getConnection();
|
||||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
echo "\n── Migraciones pendientes ──────────────────\n\n";
|
||||
|
||||
foreach ($pendientes as $file) {
|
||||
$path = __DIR__ . '/' . $file;
|
||||
if (!file_exists($path)) {
|
||||
echo " ⚠ No encontrado: $file\n";
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
$pdo->exec(file_get_contents($path));
|
||||
echo " ✅ $file\n";
|
||||
} catch (PDOException $e) {
|
||||
// Si ya existe la columna/tabla, no es error crítico
|
||||
$msg = $e->getMessage();
|
||||
if (str_contains($msg, 'Duplicate column') || str_contains($msg, 'already exists')) {
|
||||
echo " ⏭ $file (ya aplicada)\n";
|
||||
} else {
|
||||
echo " ❌ $file → $msg\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo "\n── Listo ───────────────────────────────────\n\n";
|
||||
Reference in New Issue
Block a user