From 5185d9efb5ae42aa759044f767c1fef7a9d02d28 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 30 Jun 2020 21:39:09 +0200 Subject: [PATCH] Move to migrations Signed-off-by: Joas Schilling --- appinfo/database.xml | 58 ----------------- appinfo/info.xml | 2 +- .../Version0010Date20200630193751.php | 65 +++++++++++++++++++ 3 files changed, 66 insertions(+), 59 deletions(-) delete mode 100644 appinfo/database.xml create mode 100644 lib/Migration/Version0010Date20200630193751.php diff --git a/appinfo/database.xml b/appinfo/database.xml deleted file mode 100644 index 460c727..0000000 --- a/appinfo/database.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - *dbname* - true - false - - utf8 - - - - *dbprefix*users_external - - - - - backend - text - - true - 128 - - - - uid - text - - true - 64 - - - - displayname - text - - false - 64 - - - - users_unique - true - true - - uid - ascending - - - backend - ascending - - - - - -
- -
diff --git a/appinfo/info.xml b/appinfo/info.xml index ae2ca97..18932b8 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -16,7 +16,7 @@ Read the [documentation](https://github.com/nextcloud/user_external#readme) to learn how to configure it! ]]> - 0.10.0 + 0.10.1 agpl Robin Appelman diff --git a/lib/Migration/Version0010Date20200630193751.php b/lib/Migration/Version0010Date20200630193751.php new file mode 100644 index 0000000..e59a250 --- /dev/null +++ b/lib/Migration/Version0010Date20200630193751.php @@ -0,0 +1,65 @@ + + * + * @author Joas Schilling + * + * @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\User_external\Migration; + +use Closure; +use Doctrine\DBAL\Types\Type; +use OCP\DB\ISchemaWrapper; +use OCP\Migration\IOutput; +use OCP\Migration\SimpleMigrationStep; + +class Version0010Date20200630193751 extends SimpleMigrationStep { + /** + * @param IOutput $output + * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` + * @param array $options + * @return null|ISchemaWrapper + */ + public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) { + /** @var ISchemaWrapper $schema */ + $schema = $schemaClosure(); + + if (!$schema->hasTable('users_external')) { + $table = $schema->createTable('users_external'); + $table->addColumn('backend', Type::STRING, [ + 'notnull' => true, + 'length' => 128, + 'default' => '', + ]); + $table->addColumn('uid', Type::STRING, [ + 'notnull' => true, + 'length' => 64, + 'default' => '', + ]); + $table->addColumn('displayname', Type::STRING, [ + 'notnull' => false, + 'length' => 64, + ]); + $table->setPrimaryKey(['uid', 'backend']); + } + return $schema; + } +}