diff --git a/backend/scripts/migrate.php b/backend/scripts/migrate.php new file mode 100755 index 0000000..90a57c8 --- /dev/null +++ b/backend/scripts/migrate.php @@ -0,0 +1,46 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + $isFresh = isset($argv[1]) && $argv[1] === 'fresh'; + + if ($isFresh) { + echo "Dropping database `$dbName`...\n"; + $pdo->exec("DROP DATABASE IF EXISTS `$dbName`"); + } + + $pdo->exec("CREATE DATABASE IF NOT EXISTS `$dbName` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); + $pdo->exec("USE `$dbName`"); + + $schema = file_get_contents(__DIR__ . '/../database_schema.sql'); + if (!$schema) { + die("Could not read database_schema.sql\n"); + } + + echo "Executing database_schema.sql...\n"; + $pdo->exec($schema); + + echo "Database migration completed successfully!\n"; +} catch (PDOException $e) { + die("Database Error: " . $e->getMessage() . "\n"); +}