diff options
author | Andreas Fischer <bantu@phpbb.com> | 2014-06-10 01:57:59 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2014-06-10 01:57:59 +0200 |
commit | 2964fb37e84a8e7448598a07bfa62ade6c6fb7ae (patch) | |
tree | 247a7c5692b5cb1acc17603bc67dba32a32b6c3b /phpBB/phpbb | |
parent | 456ff2559aad6f2eed089309544dd4471b798852 (diff) | |
download | forums-2964fb37e84a8e7448598a07bfa62ade6c6fb7ae.tar forums-2964fb37e84a8e7448598a07bfa62ade6c6fb7ae.tar.gz forums-2964fb37e84a8e7448598a07bfa62ade6c6fb7ae.tar.bz2 forums-2964fb37e84a8e7448598a07bfa62ade6c6fb7ae.tar.xz forums-2964fb37e84a8e7448598a07bfa62ade6c6fb7ae.zip |
[ticket/12664] Refactor develop/migration_tips.php into a console command.
PHPBB3-12664
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r-- | phpBB/phpbb/console/command/dev/migration_tips.php | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/phpBB/phpbb/console/command/dev/migration_tips.php b/phpBB/phpbb/console/command/dev/migration_tips.php new file mode 100644 index 0000000000..62a0a68865 --- /dev/null +++ b/phpBB/phpbb/console/command/dev/migration_tips.php @@ -0,0 +1,63 @@ +<?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\dev; + +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class migration_tips extends \phpbb\console\command\command +{ + /** @var \phpbb\extension\manager */ + protected $extension_manager; + + function __construct(\phpbb\extension\manager $extension_manager) + { + $this->extension_manager = $extension_manager; + parent::__construct(); + } + + protected function configure() + { + $this + ->setName('dev:migration-tips') + ->setDescription('Finds migrations that are not depended on.') + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $migrations = $this->extension_manager->get_finder() + ->core_path('phpbb/db/migration/data/') + ->get_classes(); + $tips = $migrations; + + foreach ($migrations as $migration_class) + { + foreach ($migration_class::depends_on() as $dependency) + { + $tips_key = array_search($dependency, $tips); + if ($tips_key !== false) + { + unset($tips[$tips_key]); + } + } + } + + $output->writeln("\t\tarray("); + foreach ($tips as $migration) + { + $output->writeln("\t\t\t'{$migration}',"); + } + $output->writeln("\t\t);"); + } +} |