Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/polls.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordartcafe <github@dartcafe.de>2019-12-27 13:11:27 +0300
committerdartcafe <github@dartcafe.de>2019-12-27 13:11:27 +0300
commit7f9da97e81260362f8e4e729c6cdd45477a06047 (patch)
tree1c53b004b4375a70a677c8014ba7324dcec1b9b3 /lib/Migration
parent672e6366a3aaaad28d56db9a6bcbd4931551eb09 (diff)
Consolidated migrations to main migration
Diffstat (limited to 'lib/Migration')
-rw-r--r--lib/Migration/Version0010Date20190801063812.php22
-rw-r--r--lib/Migration/Version0010Date20191218203500.php110
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();
- }
-
-}