From 7caea0f26904e9a0909a3acd7bb79a8bf7720950 Mon Sep 17 00:00:00 2001 From: Tortue Torche Date: Fri, 14 Feb 2020 11:38:08 +0100 Subject: [PATCH] Add a new migration to use '0' as default value for the 'instance' column of 'circles_members' table NOTE: We can't use an empty string ('') as default value, because it doesn't work with 'Doctrine\DBAL\Schema\Table::changeColumn()' method... Revert commit f79cc5247b216a34e4be5051318971cd32640561 Signed-off-by: Tortue Torche --- .../Version0017Date20200202112903.php | 2 +- .../Version0017Date20200214112607.php | 79 +++++++++++++++++++ 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 lib/Migration/Version0017Date20200214112607.php diff --git a/lib/Migration/Version0017Date20200202112903.php b/lib/Migration/Version0017Date20200202112903.php index 6531bcffc..19a593b59 100644 --- a/lib/Migration/Version0017Date20200202112903.php +++ b/lib/Migration/Version0017Date20200202112903.php @@ -45,6 +45,7 @@ class Version0017Date20200202112903 extends SimpleMigrationStep { /** @var IDBConnection */ private $connection; + /** * @param IDBConnection $connection */ @@ -89,7 +90,6 @@ public function changeSchema(IOutput $output, Closure $schemaClosure, array $opt 'instance', 'string', [ 'notnull' => false, 'length' => 255, - 'default' => '', ] ); $table->addColumn( diff --git a/lib/Migration/Version0017Date20200214112607.php b/lib/Migration/Version0017Date20200214112607.php new file mode 100644 index 000000000..3f6667e26 --- /dev/null +++ b/lib/Migration/Version0017Date20200214112607.php @@ -0,0 +1,79 @@ + + * @copyright 2019 + * @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 . + * + */ + +declare(strict_types=1); + +namespace OCA\Circles\Migration; + +use Closure; +use Doctrine\DBAL\Schema\SchemaException; +use Doctrine\DBAL\Types\Type; +use OCP\DB\ISchemaWrapper; +use OCP\IDBConnection; +use OCP\Migration\IOutput; +use OCP\Migration\SimpleMigrationStep; + +/** + * Auto-generated migration step: Please modify to your needs! + */ +class Version0017Date20200214112607 extends SimpleMigrationStep { + + + /** @var IDBConnection */ + private $connection; + + + /** + * @param IDBConnection $connection + */ + public function __construct(IDBConnection $connection) { + $this->connection = $connection; + } + + + /** + * @param IOutput $output + * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` + * @param array $options + * + * @return null|ISchemaWrapper + * @throws SchemaException + */ + public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) { + /** @var ISchemaWrapper $schema */ + $schema = $schemaClosure(); + + $table = $schema->getTable('circles_members'); + $table->changeColumn( + 'instance', [ + 'default' => '0', + ] + ); + + return $schema; + } + +}