diff options
author | dartcafe <github@dartcafe.de> | 2019-12-27 13:11:27 +0300 |
---|---|---|
committer | dartcafe <github@dartcafe.de> | 2019-12-27 13:11:27 +0300 |
commit | 7f9da97e81260362f8e4e729c6cdd45477a06047 (patch) | |
tree | 1c53b004b4375a70a677c8014ba7324dcec1b9b3 /lib/Migration | |
parent | 672e6366a3aaaad28d56db9a6bcbd4931551eb09 (diff) |
Consolidated migrations to main migration
Diffstat (limited to 'lib/Migration')
-rw-r--r-- | lib/Migration/Version0010Date20190801063812.php | 22 | ||||
-rw-r--r-- | lib/Migration/Version0010Date20191218203500.php | 110 |
2 files changed, 22 insertions, 110 deletions
diff --git a/lib/Migration/Version0010Date20190801063812.php b/lib/Migration/Version0010Date20190801063812.php index 033c12ab..adbe988f 100644 --- a/lib/Migration/Version0010Date20190801063812.php +++ b/lib/Migration/Version0010Date20190801063812.php @@ -68,6 +68,12 @@ class Version0010Date20190801063812 extends SimpleMigrationStep { if ($schema->hasTable('polls_events')) { $table = $schema->getTable('polls_events'); + if (!$table->hasColumn('expiration')) { + $table->addColumn('expiration', Type::BOOLEAN, [ + 'notnull' => true, + 'default' => 0 + ]); + } if (!$table->hasColumn('deleted')) { $table->addColumn('deleted', Type::BOOLEAN, [ 'notnull' => false, @@ -173,6 +179,10 @@ class Version0010Date20190801063812 extends SimpleMigrationStep { /** @var ISchemaWrapper $schema */ $schema = $schemaClosure(); + if ($schema->hasTable('polls_events')) { + $this->setExpiration(); + } + if ($schema->hasTable('polls_share')) { $this->copyTokens(); // $this->copyInvitationTokens(); @@ -180,6 +190,18 @@ class Version0010Date20190801063812 extends SimpleMigrationStep { } /** + * Set expiration if expire is filled + */ + protected function setExpiration() { + + $update = $this->connection->getQueryBuilder(); + $update->update('polls_events') + ->set('expiration', $update->createNamedParameter(true)) + ->where('expire IS NOT NULL'); + $result = $update->execute(); + } + + /** * Copy public tokens */ protected function copyTokens() { diff --git a/lib/Migration/Version0010Date20191218203500.php b/lib/Migration/Version0010Date20191218203500.php deleted file mode 100644 index 3e760f84..00000000 --- a/lib/Migration/Version0010Date20191218203500.php +++ /dev/null @@ -1,110 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2017 René Gieling <github@dartcafe.de> - * - * @author René Gieling <github@dartcafe.de> - * - * @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 <http://www.gnu.org/licenses/>. - * - */ - -namespace OCA\Polls\Migration; - -// use Doctrine\DBAL\Exception\TableNotFoundException; -// use Doctrine\DBAL\Platforms\PostgreSqlPlatform; -use Doctrine\DBAL\Types\Type; -use OCP\DB\ISchemaWrapper; -use OCP\DB\QueryBuilder\IQueryBuilder; -use OCP\IConfig; -use OCP\IDBConnection; -use OCP\Migration\SimpleMigrationStep; -use OCP\Migration\IOutput; -use OCP\Security\ISecureRandom; - -/** - * Installation class for the polls app. - * Initial db creation - */ -class Version0010Date20191218203500 extends SimpleMigrationStep { - - /** @var IDBConnection */ - protected $connection; - - /** @var IConfig */ - protected $config; - - /** - * @param IDBConnection $connection - * @param IConfig $config - */ - public function __construct(IDBConnection $connection, IConfig $config) { - $this->connection = $connection; - $this->config = $config; - } - - /** - * @param IOutput $output - * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` - * @param array $options - * @return null|ISchemaWrapper - * @since 13.0.0 - */ - public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options) { - /** @var ISchemaWrapper $schema */ - $schema = $schemaClosure(); - - if ($schema->hasTable('polls_events')) { - $table = $schema->getTable('polls_events'); - if (!$table->hasColumn('expiration')) { - $table->addColumn('expiration', Type::BOOLEAN, [ - 'notnull' => true, - 'default' => 0 - ]); - } - - } - - return $schema; - } - - /** - * @param IOutput $output - * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` - * @param array $options - * @since 13.0.0 - */ - public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) { - /** @var ISchemaWrapper $schema */ - $schema = $schemaClosure(); - - if ($schema->hasTable('polls_events')) { - $this->setExpiration(); - } - } - - /** - * Copy public tokens - */ - protected function setExpiration() { - - $update = $this->connection->getQueryBuilder(); - $update->update('polls_events') - ->set('expiration', $update->createNamedParameter(true)) - ->where('expire IS NOT NULL'); - $result = $update->execute(); - } - -} |