From 56d7c2c6ed3e5924aeced53a163bfd1aa8288034 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 14 Oct 2014 17:58:29 +0200 Subject: [ticket/13126] Improve the feedback when running the migrations PHPBB3-13126 --- phpBB/phpbb/console/command/db/migrate.php | 56 +++++++++++++----------------- 1 file changed, 24 insertions(+), 32 deletions(-) (limited to 'phpBB/phpbb/console/command/db') diff --git a/phpBB/phpbb/console/command/db/migrate.php b/phpBB/phpbb/console/command/db/migrate.php index c760cde5b5..ecb84d7401 100644 --- a/phpBB/phpbb/console/command/db/migrate.php +++ b/phpBB/phpbb/console/command/db/migrate.php @@ -53,6 +53,30 @@ class migrate extends \phpbb\console\command\command protected function execute(InputInterface $input, OutputInterface $output) { + $user = $this->user; + $this->migrator->set_output_handler( + new \phpbb\db\migrator_output_handler( + function($message, $verbosity) use ($output, $user) + { + if ($verbosity <= $output->getVerbosity()) + { + $final_message = call_user_func_array(array($user, 'lang'), $message); + + if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_NORMAL) + { + $final_message = '' . $final_message . ''; + } + else if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_VERY_VERBOSE) + { + $final_message = '' . $final_message . ''; + } + + $output->writeln($final_message); + } + } + ) + ); + $this->migrator->create_migrations_table(); $this->cache->purge(); @@ -61,8 +85,6 @@ class migrate extends \phpbb\console\command\command $orig_version = $this->config['version']; while (!$this->migrator->finished()) { - $migration_start_time = microtime(true); - try { $this->migrator->update(); @@ -73,36 +95,6 @@ class migrate extends \phpbb\console\command\command $this->finalise_update(); return 1; } - - $migration_stop_time = microtime(true) - $migration_start_time; - - $state = array_merge( - array( - 'migration_schema_done' => false, - 'migration_data_done' => false, - ), - $this->migrator->last_run_migration['state'] - ); - - if (!empty($this->migrator->last_run_migration['effectively_installed'])) - { - $msg = $this->user->lang('MIGRATION_EFFECTIVELY_INSTALLED', $this->migrator->last_run_migration['name']); - $output->writeln("$msg"); - } - else if ($this->migrator->last_run_migration['task'] == 'process_data_step' && $state['migration_data_done']) - { - $msg = $this->user->lang('MIGRATION_DATA_DONE', $this->migrator->last_run_migration['name'], $migration_stop_time); - $output->writeln("$msg"); - } - else if ($this->migrator->last_run_migration['task'] == 'process_data_step') - { - $output->writeln($this->user->lang('MIGRATION_DATA_IN_PROGRESS', $this->migrator->last_run_migration['name'], $migration_stop_time)); - } - else if ($state['migration_schema_done']) - { - $msg = $this->user->lang('MIGRATION_SCHEMA_DONE', $this->migrator->last_run_migration['name'], $migration_stop_time); - $output->writeln("$msg"); - } } if ($orig_version != $this->config['version']) -- cgit v1.2.1 From 58075e25e8173ec663e4e8908d1963b1947a225b Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Thu, 16 Oct 2014 01:34:23 +0200 Subject: [ticket/13126] Extends migrator_output_handler instead of using a closure PHPBB3-13126 --- .../command/db/console_migrator_output_handler.php | 72 ++++++++++++++++++++++ phpBB/phpbb/console/command/db/migrate.php | 24 +------- 2 files changed, 73 insertions(+), 23 deletions(-) create mode 100644 phpBB/phpbb/console/command/db/console_migrator_output_handler.php (limited to 'phpBB/phpbb/console/command/db') diff --git a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php new file mode 100644 index 0000000000..be6c2ccd7a --- /dev/null +++ b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php @@ -0,0 +1,72 @@ + +* @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; + +use phpbb\user; +use phpbb\db\migrator_output_handler; +use Symfony\Component\Console\Output\OutputInterface; + +class console_migrator_output_handler extends migrator_output_handler +{ + /** + * User object. + * + * @var user + */ + private $user; + + /** + * Console output object. + * + * @var OutputInterface + */ + private $output; + + /** + * Constructor + * + * @param user $user User object + * @param OutputInterface $output Console output object + */ + public function __construct(user $user, OutputInterface $output) + { + $this->user = $user; + $this->output = $output; + } + + /** + * Write output using the configured closure. + * + * @param string|array $message The message to write or an array containing the language key and all of its parameters. + * @param int $verbosity The verbosity of the message. + */ + public function write($message, $verbosity) + { + if ($verbosity <= $this->output->getVerbosity()) + { + $translated_message = call_user_func_array(array($this->user, 'lang'), $message); + + if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_NORMAL) + { + $translated_message = '' . $translated_message . ''; + } + else if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_VERY_VERBOSE) + { + $translated_message = '' . $translated_message . ''; + } + + $this->output->writeln($translated_message); + } + } +} diff --git a/phpBB/phpbb/console/command/db/migrate.php b/phpBB/phpbb/console/command/db/migrate.php index ecb84d7401..9d4b4a0c4d 100644 --- a/phpBB/phpbb/console/command/db/migrate.php +++ b/phpBB/phpbb/console/command/db/migrate.php @@ -53,29 +53,7 @@ class migrate extends \phpbb\console\command\command protected function execute(InputInterface $input, OutputInterface $output) { - $user = $this->user; - $this->migrator->set_output_handler( - new \phpbb\db\migrator_output_handler( - function($message, $verbosity) use ($output, $user) - { - if ($verbosity <= $output->getVerbosity()) - { - $final_message = call_user_func_array(array($user, 'lang'), $message); - - if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_NORMAL) - { - $final_message = '' . $final_message . ''; - } - else if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_VERY_VERBOSE) - { - $final_message = '' . $final_message . ''; - } - - $output->writeln($final_message); - } - } - ) - ); + $this->migrator->set_output_handler(new console_migrator_output_handler($this->user, $output)); $this->migrator->create_migrations_table(); -- cgit v1.2.1 From 8f6fcd2744a80795139600c2a7c1f46f59b8cbfe Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 20 Oct 2014 19:38:04 +0200 Subject: [ticket/13126] Move migrator_output_handler to an interface PHPBB3-13126 --- .../console/command/db/console_migrator_output_handler.php | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'phpBB/phpbb/console/command/db') diff --git a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php index be6c2ccd7a..0c494cea63 100644 --- a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php +++ b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php @@ -17,7 +17,7 @@ use phpbb\user; use phpbb\db\migrator_output_handler; use Symfony\Component\Console\Output\OutputInterface; -class console_migrator_output_handler extends migrator_output_handler +class console_migrator_output_handler implements migrator_output_handler_interface { /** * User object. @@ -46,10 +46,7 @@ class console_migrator_output_handler extends migrator_output_handler } /** - * Write output using the configured closure. - * - * @param string|array $message The message to write or an array containing the language key and all of its parameters. - * @param int $verbosity The verbosity of the message. + * {@inheritdoc} */ public function write($message, $verbosity) { @@ -57,11 +54,11 @@ class console_migrator_output_handler extends migrator_output_handler { $translated_message = call_user_func_array(array($this->user, 'lang'), $message); - if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_NORMAL) + if ($verbosity === migrator_output_handler_interface::VERBOSITY_NORMAL) { $translated_message = '' . $translated_message . ''; } - else if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_VERY_VERBOSE) + else if ($verbosity === migrator_output_handler_interface::VERBOSITY_VERY_VERBOSE) { $translated_message = '' . $translated_message . ''; } -- cgit v1.2.1 From faf4b03c43ecac7aa16e42433cce591512f3ef90 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 20 Oct 2014 19:42:54 +0200 Subject: [ticket/13126] Change messages verbosity levels PHPBB3-13126 --- phpBB/phpbb/console/command/db/console_migrator_output_handler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/phpbb/console/command/db') diff --git a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php index 0c494cea63..74549e8e42 100644 --- a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php +++ b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php @@ -58,7 +58,7 @@ class console_migrator_output_handler implements migrator_output_handler_interfa { $translated_message = '' . $translated_message . ''; } - else if ($verbosity === migrator_output_handler_interface::VERBOSITY_VERY_VERBOSE) + else if ($verbosity === migrator_output_handler_interface::VERBOSITY_VERBOSE) { $translated_message = '' . $translated_message . ''; } -- cgit v1.2.1 From 981d3005f37d6298bd8775154e83194dbe0a0ed1 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 20 Oct 2014 19:59:36 +0200 Subject: [ticket/13126] Fix tests PHPBB3-13126 --- phpBB/phpbb/console/command/db/console_migrator_output_handler.php | 1 - 1 file changed, 1 deletion(-) (limited to 'phpBB/phpbb/console/command/db') diff --git a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php index 74549e8e42..92a047605d 100644 --- a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php +++ b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php @@ -14,7 +14,6 @@ namespace phpbb\console\command\db; use phpbb\user; -use phpbb\db\migrator_output_handler; use Symfony\Component\Console\Output\OutputInterface; class console_migrator_output_handler implements migrator_output_handler_interface -- cgit v1.2.1 From fdece6cdf3cb375da1ee4ab488d2ec8d854845db Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 22 Oct 2014 15:25:50 +0200 Subject: [ticket/13126] Add missing use statement PHPBB3-13126 --- phpBB/phpbb/console/command/db/console_migrator_output_handler.php | 1 + 1 file changed, 1 insertion(+) (limited to 'phpBB/phpbb/console/command/db') diff --git a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php index 92a047605d..b9741a3838 100644 --- a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php +++ b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php @@ -14,6 +14,7 @@ namespace phpbb\console\command\db; use phpbb\user; +use phpbb\db\migrator_output_handler_interface; use Symfony\Component\Console\Output\OutputInterface; class console_migrator_output_handler implements migrator_output_handler_interface -- cgit v1.2.1 From b27b9a6984f2ed3a9a186133657d30b4cca883c0 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Fri, 24 Oct 2014 13:33:26 -0700 Subject: [ticket/13211] Move console migrator output handler to db folder PHPBB3-13211 --- .../command/db/console_migrator_output_handler.php | 69 ---------------------- phpBB/phpbb/console/command/db/migrate.php | 2 +- 2 files changed, 1 insertion(+), 70 deletions(-) delete mode 100644 phpBB/phpbb/console/command/db/console_migrator_output_handler.php (limited to 'phpBB/phpbb/console/command/db') diff --git a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php deleted file mode 100644 index b9741a3838..0000000000 --- a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php +++ /dev/null @@ -1,69 +0,0 @@ - -* @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; - -use phpbb\user; -use phpbb\db\migrator_output_handler_interface; -use Symfony\Component\Console\Output\OutputInterface; - -class console_migrator_output_handler implements migrator_output_handler_interface -{ - /** - * User object. - * - * @var user - */ - private $user; - - /** - * Console output object. - * - * @var OutputInterface - */ - private $output; - - /** - * Constructor - * - * @param user $user User object - * @param OutputInterface $output Console output object - */ - public function __construct(user $user, OutputInterface $output) - { - $this->user = $user; - $this->output = $output; - } - - /** - * {@inheritdoc} - */ - public function write($message, $verbosity) - { - if ($verbosity <= $this->output->getVerbosity()) - { - $translated_message = call_user_func_array(array($this->user, 'lang'), $message); - - if ($verbosity === migrator_output_handler_interface::VERBOSITY_NORMAL) - { - $translated_message = '' . $translated_message . ''; - } - else if ($verbosity === migrator_output_handler_interface::VERBOSITY_VERBOSE) - { - $translated_message = '' . $translated_message . ''; - } - - $this->output->writeln($translated_message); - } - } -} diff --git a/phpBB/phpbb/console/command/db/migrate.php b/phpBB/phpbb/console/command/db/migrate.php index 9d4b4a0c4d..15349e1230 100644 --- a/phpBB/phpbb/console/command/db/migrate.php +++ b/phpBB/phpbb/console/command/db/migrate.php @@ -53,7 +53,7 @@ class migrate extends \phpbb\console\command\command protected function execute(InputInterface $input, OutputInterface $output) { - $this->migrator->set_output_handler(new console_migrator_output_handler($this->user, $output)); + $this->migrator->set_output_handler(new \phpbb\db\console_migrator_output_handler($this->user, $output)); $this->migrator->create_migrations_table(); -- cgit v1.2.1 From 84434630065c2491cfa5e65a69b8b22d6844b6f4 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sat, 25 Oct 2014 11:55:15 -0700 Subject: [ticket/13211] Also use log wrapper output handler for console migrations PHPBB3-13211 --- phpBB/phpbb/console/command/db/migrate.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'phpBB/phpbb/console/command/db') diff --git a/phpBB/phpbb/console/command/db/migrate.php b/phpBB/phpbb/console/command/db/migrate.php index 15349e1230..76550a8429 100644 --- a/phpBB/phpbb/console/command/db/migrate.php +++ b/phpBB/phpbb/console/command/db/migrate.php @@ -32,13 +32,17 @@ class migrate extends \phpbb\console\command\command /** @var \phpbb\log\log */ protected $log; - function __construct(\phpbb\user $user, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache, \phpbb\log\log $log) + /** @var string phpBB root path */ + protected $phpbb_root_path; + + function __construct(\phpbb\user $user, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache, \phpbb\log\log $log, $phpbb_root_path) { $this->migrator = $migrator; $this->extension_manager = $extension_manager; $this->config = $config; $this->cache = $cache; $this->log = $log; + $this->phpbb_root_path = $phpbb_root_path; parent::__construct($user); $this->user->add_lang(array('common', 'install', 'migrator')); } @@ -53,7 +57,7 @@ class migrate extends \phpbb\console\command\command protected function execute(InputInterface $input, OutputInterface $output) { - $this->migrator->set_output_handler(new \phpbb\db\console_migrator_output_handler($this->user, $output)); + $this->migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($this->user, new \phpbb\db\console_migrator_output_handler($this->user, $output), $this->phpbb_root_path . 'store/migrations_' . time() . '.log')); $this->migrator->create_migrations_table(); -- cgit v1.2.1 From 078e0c1e440f7f906b670348e8da00141e245876 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sat, 25 Oct 2014 12:03:13 -0700 Subject: [ticket/13211] Move console migrator output handler back to console folder PHPBB3-13211 --- .../command/db/console_migrator_output_handler.php | 69 ++++++++++++++++++++++ phpBB/phpbb/console/command/db/migrate.php | 2 +- 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 phpBB/phpbb/console/command/db/console_migrator_output_handler.php (limited to 'phpBB/phpbb/console/command/db') diff --git a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php new file mode 100644 index 0000000000..b9741a3838 --- /dev/null +++ b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php @@ -0,0 +1,69 @@ + +* @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; + +use phpbb\user; +use phpbb\db\migrator_output_handler_interface; +use Symfony\Component\Console\Output\OutputInterface; + +class console_migrator_output_handler implements migrator_output_handler_interface +{ + /** + * User object. + * + * @var user + */ + private $user; + + /** + * Console output object. + * + * @var OutputInterface + */ + private $output; + + /** + * Constructor + * + * @param user $user User object + * @param OutputInterface $output Console output object + */ + public function __construct(user $user, OutputInterface $output) + { + $this->user = $user; + $this->output = $output; + } + + /** + * {@inheritdoc} + */ + public function write($message, $verbosity) + { + if ($verbosity <= $this->output->getVerbosity()) + { + $translated_message = call_user_func_array(array($this->user, 'lang'), $message); + + if ($verbosity === migrator_output_handler_interface::VERBOSITY_NORMAL) + { + $translated_message = '' . $translated_message . ''; + } + else if ($verbosity === migrator_output_handler_interface::VERBOSITY_VERBOSE) + { + $translated_message = '' . $translated_message . ''; + } + + $this->output->writeln($translated_message); + } + } +} diff --git a/phpBB/phpbb/console/command/db/migrate.php b/phpBB/phpbb/console/command/db/migrate.php index 76550a8429..87c2a057d1 100644 --- a/phpBB/phpbb/console/command/db/migrate.php +++ b/phpBB/phpbb/console/command/db/migrate.php @@ -57,7 +57,7 @@ class migrate extends \phpbb\console\command\command protected function execute(InputInterface $input, OutputInterface $output) { - $this->migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($this->user, new \phpbb\db\console_migrator_output_handler($this->user, $output), $this->phpbb_root_path . 'store/migrations_' . time() . '.log')); + $this->migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($this->user, new console_migrator_output_handler($this->user, $output), $this->phpbb_root_path . 'store/migrations_' . time() . '.log')); $this->migrator->create_migrations_table(); -- cgit v1.2.1