summaryrefslogtreecommitdiff
path: root/bin/migrate
diff options
context:
space:
mode:
authormsquare <msquare@notrademark.de>2018-09-02 16:55:35 +0200
committerGitHub <noreply@github.com>2018-09-02 16:55:35 +0200
commita103bc06e28f5eca6ba9c28c81ae1227d689f224 (patch)
tree759d675b621eed86b20f14abe448e83fa8d22562 /bin/migrate
parentbd8ceda6830f97247b73932b85ce41af5b8d2ab0 (diff)
parent2bebbeb1919e1d370ac5c0668e0db5ea63e73292 (diff)
Merge pull request #452 from MyIgel/rebuild-database
Rebuild database
Diffstat (limited to 'bin/migrate')
-rwxr-xr-xbin/migrate38
1 files changed, 38 insertions, 0 deletions
diff --git a/bin/migrate b/bin/migrate
new file mode 100755
index 00000000..ab3598d4
--- /dev/null
+++ b/bin/migrate
@@ -0,0 +1,38 @@
+#!/usr/bin/env php
+<?php
+
+use Composer\Autoload\ClassLoader;
+use Engelsystem\Application;
+use Engelsystem\Database\Migration\Migrate;
+use Engelsystem\Database\Migration\MigrationServiceProvider;
+
+require_once __DIR__ . '/../includes/application.php';
+
+/** @var $loader ClassLoader */
+$baseDir = __DIR__ . '/../db/migrations';
+
+/** @var Application $app */
+$app = app();
+$app->register(MigrationServiceProvider::class);
+
+/** @var Migrate $migration */
+$migration = $app->get('db.migration');
+$migration->setOutput(function ($text) { echo $text . PHP_EOL; });
+
+if (isset($argv[1]) && strtolower($argv[1]) == 'help') {
+ echo PHP_EOL . 'Usage: ' . $argv[1] . ' [up|down] [one-step]' . PHP_EOL . PHP_EOL;
+ exit;
+}
+
+$method = Migrate::UP;
+if (isset($argv[1]) && strtolower($argv[1]) == 'down') {
+ $argv = array_values($argv);
+ $method = Migrate::DOWN;
+}
+
+$oneStep = false;
+if (isset($argv[2]) && strtolower($argv[2]) == 'one-step') {
+ $oneStep = true;
+}
+
+$migration->run($baseDir, $method, $oneStep);