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