aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/console/command/db/migration_command.php
diff options
context:
space:
mode:
authorZoddo <zoddo.ino@gmail.com>2015-09-13 16:08:22 +0200
committerZoddo <zoddo.ino@gmail.com>2015-09-20 12:26:46 +0200
commit2596fba487a067cba36b5ebe50e1c73e4dc954d3 (patch)
treee682206c3d7b197a7bcf973e8bdbd96565c53dc4 /phpBB/phpbb/console/command/db/migration_command.php
parent3bde202a1087a06baa6b06a7612001f0478da580 (diff)
downloadforums-2596fba487a067cba36b5ebe50e1c73e4dc954d3.tar
forums-2596fba487a067cba36b5ebe50e1c73e4dc954d3.tar.gz
forums-2596fba487a067cba36b5ebe50e1c73e4dc954d3.tar.bz2
forums-2596fba487a067cba36b5ebe50e1c73e4dc954d3.tar.xz
forums-2596fba487a067cba36b5ebe50e1c73e4dc954d3.zip
[ticket/14162] Add CLI command db:revert
This command allow to revert a migration from the CLI PHPBB3-14162
Diffstat (limited to 'phpBB/phpbb/console/command/db/migration_command.php')
-rw-r--r--phpBB/phpbb/console/command/db/migration_command.php56
1 files changed, 56 insertions, 0 deletions
diff --git a/phpBB/phpbb/console/command/db/migration_command.php b/phpBB/phpbb/console/command/db/migration_command.php
new file mode 100644
index 0000000000..d44ef8c5cb
--- /dev/null
+++ b/phpBB/phpbb/console/command/db/migration_command.php
@@ -0,0 +1,56 @@
+<?php
+/**
+*
+* This file is part of the phpBB Forum Software package.
+*
+* @copyright (c) phpBB Limited <https://www.phpbb.com>
+* @license GNU General Public License, version 2 (GPL-2.0)
+*
+* For full copyright and license information, please see
+* the docs/CREDITS.txt file.
+*
+*/
+namespace phpbb\console\command\db;
+
+abstract class migration_command extends \phpbb\console\command\command
+{
+ /** @var \phpbb\db\migrator */
+ protected $migrator;
+
+ /** @var \phpbb\extension\manager */
+ protected $extension_manager;
+
+ /** @var \phpbb\config\config */
+ protected $config;
+
+ /** @var \phpbb\cache\service */
+ protected $cache;
+
+ function __construct(\phpbb\user $user, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache)
+ {
+ $this->migrator = $migrator;
+ $this->extension_manager = $extension_manager;
+ $this->config = $config;
+ $this->cache = $cache;
+ parent::__construct($user);
+ }
+
+ protected function load_migrations()
+ {
+ $migrations = $this->extension_manager
+ ->get_finder()
+ ->core_path('phpbb/db/migration/data/')
+ ->extension_directory('/migrations')
+ ->get_classes();
+
+ $this->migrator->set_migrations($migrations);
+
+ return $migrations;
+ }
+
+ protected function finalise_update()
+ {
+ $this->cache->purge();
+ $this->config->increment('assets_version', 1);
+ }
+}