diff options
author | Zoddo <zoddo.ino@gmail.com> | 2015-09-13 16:08:22 +0200 |
---|---|---|
committer | Zoddo <zoddo.ino@gmail.com> | 2015-09-20 12:26:46 +0200 |
commit | 2596fba487a067cba36b5ebe50e1c73e4dc954d3 (patch) | |
tree | e682206c3d7b197a7bcf973e8bdbd96565c53dc4 /phpBB/phpbb/console/command/db/migration_command.php | |
parent | 3bde202a1087a06baa6b06a7612001f0478da580 (diff) | |
download | forums-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.php | 56 |
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); + } +} |