From 4b79fb10a28d9edbace8ec44dfb43861c5570a64 Mon Sep 17 00:00:00 2001 From: Thomas Müller Date: Mon, 4 Apr 2016 16:20:53 +0200 Subject: Fix verbose output of upgrade command - not progressbar in this case and the schema migration test has one progressbar now for all tables - before we had one progressbar for each table --- core/command/upgrade.php | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) (limited to 'core/command/upgrade.php') diff --git a/core/command/upgrade.php b/core/command/upgrade.php index c2de699d862..cbb1f26f938 100644 --- a/core/command/upgrade.php +++ b/core/command/upgrade.php @@ -139,26 +139,32 @@ class Upgrade extends Command { $updater->setSkip3rdPartyAppsDisable($skip3rdPartyAppsDisable); $dispatcher = \OC::$server->getEventDispatcher(); $progress = new ProgressBar($output); - $progress->setFormat("%message%\n %current%/%max% [%bar%] %percent:3s%%"); - $dispatcher->addListener('\OC\DB\Migrator::executeSql', function($event) use ($progress, $output) { + $progress->setFormat(" %message%\n %current%/%max% [%bar%] %percent:3s%%"); + $listener = function($event) use ($progress, $output) { if ($event instanceof GenericEvent) { - if ($event[0] === 1) { - $output->writeln(''); - $progress->start($event[1]); - } $message = $event->getSubject(); - if (strlen($message) > 30) { - $message = substr($message, 0, 27) . '...'; - } - $progress->setMessage($message); - $progress->setProgress($event[0]); - $progress->display(); - if ($event[0] === $event[1]) { - $progress->finish(); - $output->writeln(''); + if (OutputInterface::VERBOSITY_NORMAL < $output->getVerbosity()) { + $output->writeln(' Checking table ' . $message); + } else { + if (strlen($message) > 60) { + $message = substr($message, 0, 57) . '...'; + } + $progress->setMessage($message); + if ($event[0] === 1) { + $output->writeln(''); + $progress->start($event[1]); + } + $progress->setProgress($event[0]); + if ($event[0] === $event[1]) { + $progress->setMessage('Done'); + $progress->finish(); + $output->writeln(''); + } } } - }); + }; + $dispatcher->addListener('\OC\DB\Migrator::executeSql', $listener); + $dispatcher->addListener('\OC\DB\Migrator::checkTable', $listener); $updater->listen('\OC\Updater', 'maintenanceEnabled', function () use($output) { $output->writeln('Turned on maintenance mode'); -- cgit v1.2.3