Deploy from Lumerel
This commit is contained in:
33
migrate.php
Normal file
33
migrate.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
require_once 'db.php';
|
||||
|
||||
// Ensure migrations table exists
|
||||
$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 migrations directory
|
||||
$migrationFiles = glob(__DIR__ . '/migrations/*.php');
|
||||
sort($migrationFiles);
|
||||
|
||||
foreach ($migrationFiles as $migrationFile) {
|
||||
$migrationName = basename($migrationFile);
|
||||
|
||||
if (!in_array($migrationName, $ranMigrations)) {
|
||||
require_once $migrationFile;
|
||||
|
||||
// Record migration as run
|
||||
$stmt = $pdo->prepare("INSERT INTO migrations (migration) VALUES (?)");
|
||||
$stmt->execute([$migrationName]);
|
||||
|
||||
echo "Ran migration: $migrationName\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo "Migrations complete.";
|
||||
Reference in New Issue
Block a user