exec("CREATE TABLE IF NOT EXISTS `migrations` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `migration` VARCHAR(255) NOT NULL, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"); // 2. Get all migrations that have been run $run_migrations_stmt = $pdo->query("SELECT `migration` FROM `migrations`"); $run_migrations = $run_migrations_stmt->fetchAll(PDO::FETCH_COLUMN); // 3. Find all migration files $migration_files = glob('db/migrations/*.sql'); sort($migration_files); echo "

Actualizando base de datos...

"; $migrations_run = 0; foreach ($migration_files as $file) { $migration_name = basename($file); if (!in_array($migration_name, $run_migrations)) { // Execute the migration $sql = file_get_contents($file); $pdo->exec($sql); // Record the migration $stmt = $pdo->prepare("INSERT INTO `migrations` (`migration`) VALUES (?)"); $stmt->execute([$migration_name]); echo "

✔️ Migración aplicada: " . htmlspecialchars($migration_name) . "

"; $migrations_run++; } } if ($migrations_run === 0) { echo "

✅ ¡Tu base de datos ya está actualizada! No se necesitaron cambios.

"; } else { echo "

✅ ¡Base de datos actualizada correctamente!

"; } echo "
"; echo "

Pasos a seguir:

"; echo "
    "; echo "
  1. Haz clic aquí para cerrar sesión.
  2. "; echo "
  3. Después de cerrar sesión, inicia sesión de nuevo.
  4. "; echo "
  5. Una vez que hayas iniciado sesión, el dashboard y todas las opciones deberían funcionar correctamente.
  6. "; echo "
"; echo "

Si tienes algún problema, no dudes en decírmelo.

"; } catch (PDOException $e) { die("Error de base de datos: " . $e->getMessage()); } ?>