Switch to string keys for argument of GenericEvent for OC\DB\Migrator

It seems checkTable is actually never dispatched?

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
pull/33640/head
Côme Chilliet 2 years ago
parent 5509063caa
commit 4ba30d40cf
No known key found for this signature in database
GPG Key ID: A3E2F658B28C760A

@ -105,12 +105,12 @@ class Upgrade extends Command {
$message = substr($message, 0, 57) . '...';
}
$progress->setMessage($message);
if ($event[0] === 1) {
if ($event['step'] === 1) {
$output->writeln('');
$progress->start($event[1]);
$progress->start($event['max']);
}
$progress->setProgress($event[0]);
if ($event[0] === $event[1]) {
$progress->setProgress($event['step']);
if ($event['step'] === $event['max']) {
$progress->setMessage('Done');
$progress->finish();
$output->writeln('');

@ -128,12 +128,12 @@ if (\OCP\Util::needUpgrade()) {
$dispatcher = \OC::$server->getEventDispatcher();
$dispatcher->addListener('\OC\DB\Migrator::executeSql', function ($event) use ($eventSource, $l) {
if ($event instanceof GenericEvent) {
$eventSource->send('success', $l->t('[%d / %d]: %s', [$event[0], $event[1], $event->getSubject()]));
$eventSource->send('success', $l->t('[%d / %d]: %s', [$event['step'], $event['max'], $event->getSubject()]));
}
});
$dispatcher->addListener('\OC\DB\Migrator::checkTable', function ($event) use ($eventSource, $l) {
if ($event instanceof GenericEvent) {
$eventSource->send('success', $l->t('[%d / %d]: Checking table %s', [$event[0], $event[1], $event->getSubject()]));
$eventSource->send('success', $l->t('[%d / %d]: Checking table %s', [$event['step'], $event['max'], $event->getSubject()]));
}
});
$feedBack = new FeedBackHandler($eventSource, $l);

@ -27,11 +27,13 @@
*/
namespace OC\DB;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Exception;
use Doctrine\DBAL\Platforms\MySQLPlatform;
use Doctrine\DBAL\Schema\AbstractAsset;
use Doctrine\DBAL\Schema\Comparator;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\DBAL\Schema\SchemaDiff;
use Doctrine\DBAL\Types\StringType;
use Doctrine\DBAL\Types\Type;
use OCP\IConfig;
@ -41,34 +43,27 @@ use function preg_match;
class Migrator {
/** @var \Doctrine\DBAL\Connection */
/** @var Connection */
protected $connection;
/** @var IConfig */
protected $config;
/** @var EventDispatcherInterface */
/** @var ?EventDispatcherInterface */
private $dispatcher;
/** @var bool */
private $noEmit = false;
/**
* @param \Doctrine\DBAL\Connection $connection
* @param IConfig $config
* @param EventDispatcherInterface $dispatcher
*/
public function __construct(\Doctrine\DBAL\Connection $connection,
public function __construct(Connection $connection,
IConfig $config,
EventDispatcherInterface $dispatcher = null) {
?EventDispatcherInterface $dispatcher = null) {
$this->connection = $connection;
$this->config = $config;
$this->dispatcher = $dispatcher;
}
/**
* @param \Doctrine\DBAL\Schema\Schema $targetSchema
*
* @throws Exception
*/
public function migrate(Schema $targetSchema) {
@ -77,7 +72,6 @@ class Migrator {
}
/**
* @param \Doctrine\DBAL\Schema\Schema $targetSchema
* @return string
*/
public function generateChangeScript(Schema $targetSchema) {
@ -108,11 +102,9 @@ class Migrator {
}
/**
* @param Schema $targetSchema
* @param \Doctrine\DBAL\Connection $connection
* @return \Doctrine\DBAL\Schema\SchemaDiff
* @return SchemaDiff
*/
protected function getDiff(Schema $targetSchema, \Doctrine\DBAL\Connection $connection) {
protected function getDiff(Schema $targetSchema, Connection $connection) {
// adjust varchar columns with a length higher then getVarcharMaxLength to clob
foreach ($targetSchema->getTables() as $table) {
foreach ($table->getColumns() as $column) {
@ -153,12 +145,9 @@ class Migrator {
}
/**
* @param \Doctrine\DBAL\Schema\Schema $targetSchema
* @param \Doctrine\DBAL\Connection $connection
*
* @throws Exception
*/
protected function applySchema(Schema $targetSchema, \Doctrine\DBAL\Connection $connection = null) {
protected function applySchema(Schema $targetSchema, Connection $connection = null) {
if (is_null($connection)) {
$connection = $this->connection;
}
@ -201,6 +190,6 @@ class Migrator {
if (is_null($this->dispatcher)) {
return;
}
$this->dispatcher->dispatch('\OC\DB\Migrator::executeSql', new GenericEvent($sql, [$step + 1, $max]));
$this->dispatcher->dispatch('\OC\DB\Migrator::executeSql', new GenericEvent($sql, ['step' => $step + 1, 'max' => $max]));
}
}

@ -467,13 +467,13 @@ class Updater extends BasicEmitter {
if (!$event instanceof GenericEvent) {
return;
}
$log->info('\OC\DB\Migrator::executeSql: ' . $event->getSubject() . ' (' . $event->getArgument(0) . ' of ' . $event->getArgument(1) . ')', ['app' => 'updater']);
$log->info('\OC\DB\Migrator::executeSql: ' . $event->getSubject() . ' (' . $event->getArgument('step') . ' of ' . $event->getArgument('max') . ')', ['app' => 'updater']);
});
$dispatcher->addListener('\OC\DB\Migrator::checkTable', function ($event) use ($log) {
if (!$event instanceof GenericEvent) {
return;
}
$log->info('\OC\DB\Migrator::checkTable: ' . $event->getSubject() . ' (' . $event->getArgument(0) . ' of ' . $event->getArgument(1) . ')', ['app' => 'updater']);
$log->info('\OC\DB\Migrator::checkTable: ' . $event->getSubject() . ' (' . $event->getArgument('step') . ' of ' . $event->getArgument('max') . ')', ['app' => 'updater']);
});
$repairListener = function ($event) use ($log) {

Loading…
Cancel
Save