]> source.dussan.org Git - nextcloud-server.git/commitdiff
add oc_calendar_resources_md and oc_calendar_rooms_md tables
authorGeorg Ehrke <developer@georgehrke.com>
Thu, 25 Jul 2019 12:09:39 +0000 (14:09 +0200)
committerGeorg Ehrke <developer@georgehrke.com>
Thu, 1 Aug 2019 08:08:55 +0000 (10:08 +0200)
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
apps/dav/appinfo/info.xml
apps/dav/composer/composer/autoload_classmap.php
apps/dav/composer/composer/autoload_static.php
apps/dav/lib/Migration/Version1011Date20190725113607.php [new file with mode: 0644]

index 2a11eacd9becef08cd036f3e947945df99b324f1..71b3699b1ecef5b46f0e060f8e385c7e8c2d0937 100644 (file)
@@ -5,7 +5,7 @@
        <name>WebDAV</name>
        <summary>WebDAV endpoint</summary>
        <description>WebDAV endpoint</description>
-       <version>1.10.0</version>
+       <version>1.11.0</version>
        <licence>agpl</licence>
        <author>owncloud.org</author>
        <namespace>DAV</namespace>
index b550e37a31c965e52fd81422ae3f932dae3eeeb3..18b94dbf71f1a218ca44ccc35dbfe38c56f97859 100644 (file)
@@ -179,6 +179,7 @@ return array(
     'OCA\\DAV\\Migration\\Version1008Date20181105110300' => $baseDir . '/../lib/Migration/Version1008Date20181105110300.php',
     'OCA\\DAV\\Migration\\Version1008Date20181105112049' => $baseDir . '/../lib/Migration/Version1008Date20181105112049.php',
     'OCA\\DAV\\Migration\\Version1008Date20181114084440' => $baseDir . '/../lib/Migration/Version1008Date20181114084440.php',
+    'OCA\\DAV\\Migration\\Version1011Date20190725113607' => $baseDir . '/../lib/Migration/Version1011Date20190725113607.php',
     'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningNode' => $baseDir . '/../lib/Provisioning/Apple/AppleProvisioningNode.php',
     'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningPlugin' => $baseDir . '/../lib/Provisioning/Apple/AppleProvisioningPlugin.php',
     'OCA\\DAV\\RootCollection' => $baseDir . '/../lib/RootCollection.php',
index 736b77aa11a21c07d3d4278d4b4d9c969e515c07..4c45dc60e4f0ae637cbcf1ef57f424bc674ca921 100644 (file)
@@ -194,6 +194,7 @@ class ComposerStaticInitDAV
         'OCA\\DAV\\Migration\\Version1008Date20181105110300' => __DIR__ . '/..' . '/../lib/Migration/Version1008Date20181105110300.php',
         'OCA\\DAV\\Migration\\Version1008Date20181105112049' => __DIR__ . '/..' . '/../lib/Migration/Version1008Date20181105112049.php',
         'OCA\\DAV\\Migration\\Version1008Date20181114084440' => __DIR__ . '/..' . '/../lib/Migration/Version1008Date20181114084440.php',
+        'OCA\\DAV\\Migration\\Version1011Date20190725113607' => __DIR__ . '/..' . '/../lib/Migration/Version1011Date20190725113607.php',
         'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningNode' => __DIR__ . '/..' . '/../lib/Provisioning/Apple/AppleProvisioningNode.php',
         'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningPlugin' => __DIR__ . '/..' . '/../lib/Provisioning/Apple/AppleProvisioningPlugin.php',
         'OCA\\DAV\\RootCollection' => __DIR__ . '/..' . '/../lib/RootCollection.php',
diff --git a/apps/dav/lib/Migration/Version1011Date20190725113607.php b/apps/dav/lib/Migration/Version1011Date20190725113607.php
new file mode 100644 (file)
index 0000000..ac4019e
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+
+declare(strict_types=1);
+
+namespace OCA\DAV\Migration;
+
+use Closure;
+use Doctrine\DBAL\Types\Type;
+use OCP\DB\ISchemaWrapper;
+use OCP\Migration\SimpleMigrationStep;
+use OCP\Migration\IOutput;
+
+/**
+ * Auto-generated migration step: Please modify to your needs!
+ */
+class Version1011Date20190725113607 extends SimpleMigrationStep {
+
+       /**
+        * @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();
+
+               $types = ['resource', 'room'];
+               foreach($types as $type) {
+                       if (!$schema->hasTable($this->getMetadataTableName($type))) {
+                               $table = $schema->createTable($this->getMetadataTableName($type));
+
+                               $table->addColumn('id', Type::BIGINT, [
+                                       'autoincrement' => true,
+                                       'notnull' => true,
+                                       'length' => 11,
+                                       'unsigned' => true,
+                               ]);
+                               $table->addColumn($type . '_id', Type::BIGINT, [
+                                       'notnull' => true,
+                                       'length' => 11,
+                                       'unsigned' => true,
+                               ]);
+                               $table->addColumn('key', Type::STRING, [
+                                       'notnull' => true,
+                                       'length' => 255,
+                               ]);
+                               $table->addColumn('value', Type::STRING, [
+                                       'notnull' => false,
+                                       'length' => 4000,
+                               ]);
+
+                               $table->setPrimaryKey(['id']);
+                               $table->addIndex([$type . '_id', 'key'], $this->getMetadataTableName($type) . '_idk');
+                       }
+               }
+
+               return $schema;
+       }
+
+       /**
+        * @param string $type
+        * @return string
+        */
+       private function getMetadataTableName(string $type):string {
+               return 'calendar_' . $type . 's_md';
+       }
+}