From 07bf663f4c9e361d19482dfe01643c47b8dd6eb7 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Wed, 23 Dec 2020 14:41:02 +0100 Subject: Adjust share_external table Add column "parent" if missing. Drop column "lastscan" if exists. Signed-off-by: Vincent Petry --- .../Migration/Version11300Date20201120141438.php | 9 ++++ .../Migration/Version21000Date20201223143245.php | 63 ++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 apps/files_sharing/lib/Migration/Version21000Date20201223143245.php (limited to 'apps/files_sharing/lib') diff --git a/apps/files_sharing/lib/Migration/Version11300Date20201120141438.php b/apps/files_sharing/lib/Migration/Version11300Date20201120141438.php index 687e212e9f6..56f9f97fbd7 100644 --- a/apps/files_sharing/lib/Migration/Version11300Date20201120141438.php +++ b/apps/files_sharing/lib/Migration/Version11300Date20201120141438.php @@ -116,6 +116,15 @@ class Version11300Date20201120141438 extends SimpleMigrationStep { $remoteIdColumn->setOptions(['length' => 255]); $remoteIdColumn->setDefault(''); } + if (!$table->hasColumn('parent')) { + $table->addColumn('parent', Types::BIGINT, [ + 'notnull' => false, + 'default' => -1, + ]); + } + if ($table->hasColumn('lastscan')) { + $table->dropColumn('lastscan'); + } } return $schema; diff --git a/apps/files_sharing/lib/Migration/Version21000Date20201223143245.php b/apps/files_sharing/lib/Migration/Version21000Date20201223143245.php new file mode 100644 index 00000000000..3e9fda47c46 --- /dev/null +++ b/apps/files_sharing/lib/Migration/Version21000Date20201223143245.php @@ -0,0 +1,63 @@ + + * + * @author Vincent Petry + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + + +namespace OCA\Files_Sharing\Migration; + +use Closure; +use Doctrine\DBAL\Types\Types; +use OCP\DB\ISchemaWrapper; +use OCP\Migration\IOutput; +use OCP\Migration\SimpleMigrationStep; + +class Version21000Date20201223143245 extends SimpleMigrationStep { + public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper { + /** @var ISchemaWrapper $schema */ + $schema = $schemaClosure(); + + if ($schema->hasTable('share_external')) { + $table = $schema->getTable('share_external'); + $changed = false; + if (!$table->hasColumn('parent')) { + $table->addColumn('parent', Types::BIGINT, [ + 'notnull' => false, + 'default' => -1, + ]); + $changed = true; + } + if ($table->hasColumn('lastscan')) { + $table->dropColumn('lastscan'); + $changed = true; + } + + if ($changed) { + return $schema; + } + } + + return null; + } +} -- cgit v1.2.3