Files
onboarding-rjyfwd/migrate.php
2026-02-17 03:04:08 +00:00

35 lines
967 B
PHP

<?php
// Migration runner
require_once __DIR__ . '/src/db.php';
// Create migrations tracking table
$pdo->exec("
CREATE TABLE IF NOT EXISTS migrations (
id INT AUTO_INCREMENT PRIMARY KEY,
migration VARCHAR(255) NOT NULL UNIQUE,
ran_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
");
// Get already-run migrations
$stmt = $pdo->query("SELECT migration FROM migrations");
$ranMigrations = $stmt->fetchAll(PDO::FETCH_COLUMN);
// Scan and run new migrations
$migrationFiles = glob(__DIR__ . '/migrations/*.php');
sort($migrationFiles);
foreach ($migrationFiles as $file) {
$migrationName = basename($file);
if (!in_array($migrationName, $ranMigrations)) {
echo "Running migration: $migrationName\n";
require $file;
$pdo->prepare("INSERT INTO migrations (migration) VALUES (?)")->execute([$migrationName]);
echo "Completed: $migrationName\n";
}
}
echo "All migrations completed.\n";