diff options
Diffstat (limited to 'lib/private/Repair/NC11/FixMountStorages.php')
-rw-r--r-- | lib/private/Repair/NC11/FixMountStorages.php | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/lib/private/Repair/NC11/FixMountStorages.php b/lib/private/Repair/NC11/FixMountStorages.php deleted file mode 100644 index b1663102d2f..00000000000 --- a/lib/private/Repair/NC11/FixMountStorages.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - */ -namespace OC\Repair\NC11; - -use OCP\DB\QueryBuilder\IQueryBuilder; -use OCP\IDBConnection; -use OCP\Migration\IOutput; -use OCP\Migration\IRepairStep; - -class FixMountStorages implements IRepairStep { - /** @var IDBConnection */ - private $db; - - /** - * @param IDBConnection $db - */ - public function __construct(IDBConnection $db) { - $this->db = $db; - } - - /** - * @return string - */ - public function getName() { - return 'Fix potential broken mount points'; - } - - public function run(IOutput $output) { - $query = $this->db->getQueryBuilder(); - $query->select('m.id', 'f.storage') - ->from('mounts', 'm') - ->leftJoin('m', 'filecache', 'f', $query->expr()->eq('m.root_id', 'f.fileid')) - ->where($query->expr()->neq('m.storage_id', 'f.storage')); - - $update = $this->db->getQueryBuilder(); - $update->update('mounts') - ->set('storage_id', $update->createParameter('storage')) - ->where($query->expr()->eq('id', $update->createParameter('mount'))); - - $result = $query->execute(); - $entriesUpdated = 0; - while ($row = $result->fetch()) { - $update->setParameter('storage', $row['storage'], IQueryBuilder::PARAM_INT) - ->setParameter('mount', $row['id'], IQueryBuilder::PARAM_INT); - $update->execute(); - $entriesUpdated++; - } - $result->closeCursor(); - - if ($entriesUpdated > 0) { - $output->info($entriesUpdated . ' mounts updated'); - return; - } - - $output->info('No mounts updated'); - } -} |