aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-04-17 16:12:48 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2014-06-06 13:33:56 +0200
commitfe8bae31dc80ac832323fa8d9a75fd4b543d36e0 (patch)
treefedada14b0c6e7ad32fa588f438aa0e1cf243045
parentc47d4ebbac7885ad91cf56355bd6aa09318ff8e8 (diff)
downloadnextcloud-server-fe8bae31dc80ac832323fa8d9a75fd4b543d36e0.tar.gz
nextcloud-server-fe8bae31dc80ac832323fa8d9a75fd4b543d36e0.zip
adding PK to table encryption
adding auto increment/PK to table files_trash adding PK to table ldap_user_mapping and ldap_group_members adding PK to table ldap_group_mapping truncate permissions table to allow smooth creation of primary key adding unit test for creating an auto increment column on a table which already contains data remove unneeded table files_trashsizes fix unit test no need to truncate *PREFIX*permissions On Oracle adding auto increment columns is not working out of the box - Oracle migrations are to be done manually
-rw-r--r--apps/files_trashbin/appinfo/database.xml9
-rw-r--r--apps/files_trashbin/appinfo/version2
-rw-r--r--apps/user_ldap/appinfo/database.xml5
-rw-r--r--lib/private/db/mdb2schemamanager.php2
-rw-r--r--lib/private/updater.php1
-rw-r--r--tests/lib/db/mdb2schemamanager.php37
-rw-r--r--tests/lib/db/ts-autoincrement-after.xml32
-rw-r--r--tests/lib/db/ts-autoincrement-before.xml24
8 files changed, 109 insertions, 3 deletions
diff --git a/apps/files_trashbin/appinfo/database.xml b/apps/files_trashbin/appinfo/database.xml
index a6ba242c1cf..2944a31b02d 100644
--- a/apps/files_trashbin/appinfo/database.xml
+++ b/apps/files_trashbin/appinfo/database.xml
@@ -13,6 +13,15 @@
<declaration>
+ <field>
+ <name>auto_id</name>
+ <type>integer</type>
+ <default>0</default>
+ <notnull>true</notnull>
+ <autoincrement>1</autoincrement>
+ <length>4</length>
+ </field>
+
<field>
<name>id</name>
<type>text</type>
diff --git a/apps/files_trashbin/appinfo/version b/apps/files_trashbin/appinfo/version
index 5a2a5806df6..ee6cdce3c29 100644
--- a/apps/files_trashbin/appinfo/version
+++ b/apps/files_trashbin/appinfo/version
@@ -1 +1 @@
-0.6
+0.6.1
diff --git a/apps/user_ldap/appinfo/database.xml b/apps/user_ldap/appinfo/database.xml
index 812e450dde7..4875a70f852 100644
--- a/apps/user_ldap/appinfo/database.xml
+++ b/apps/user_ldap/appinfo/database.xml
@@ -46,6 +46,7 @@
<index>
<name>owncloud_name_users</name>
+ <primary>true</primary>
<unique>true</unique>
<field>
<name>owncloud_name</name>
@@ -90,6 +91,7 @@
<index>
<name>ldap_dn_groups</name>
<unique>true</unique>
+ <primary>true</primary>
<field>
<name>ldap_dn</name>
</field>
@@ -132,6 +134,7 @@
<index>
<name>ldap_group_members_index</name>
<unique>true</unique>
+ <primary>true</primary>
<field>
<name>owncloudname</name>
</field>
@@ -141,4 +144,4 @@
</table>
-</database> \ No newline at end of file
+</database>
diff --git a/lib/private/db/mdb2schemamanager.php b/lib/private/db/mdb2schemamanager.php
index 734ba18d1ac..ee3d53b576a 100644
--- a/lib/private/db/mdb2schemamanager.php
+++ b/lib/private/db/mdb2schemamanager.php
@@ -109,7 +109,7 @@ class MDB2SchemaManager {
*/
public function simulateUpdateDbFromStructure($file) {
$toSchema = $this->readSchemaFromFile($file);
- $migrator = $this->getMigrator()->checkMigrate($toSchema);
+ $this->getMigrator()->checkMigrate($toSchema);
return true;
}
diff --git a/lib/private/updater.php b/lib/private/updater.php
index 58a4086c80f..9cc1b3322eb 100644
--- a/lib/private/updater.php
+++ b/lib/private/updater.php
@@ -150,6 +150,7 @@ class Updater extends BasicEmitter {
// This is added to prevent host header poisoning
\OC_Config::setValue('trusted_domains', \OC_Config::getValue('trusted_domains', array(\OC_Request::serverHost())));
}
+
/*
* STOP CONFIG CHANGES FOR OLDER VERSIONS
*/
diff --git a/tests/lib/db/mdb2schemamanager.php b/tests/lib/db/mdb2schemamanager.php
new file mode 100644
index 00000000000..51e3c7002f4
--- /dev/null
+++ b/tests/lib/db/mdb2schemamanager.php
@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * Copyright (c) 2014 Thomas Müller <deepdiver@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\DB;
+
+class MDB2SchemaManager extends \PHPUnit_Framework_TestCase {
+
+ public function tearDown() {
+ \OC_DB::dropTable('table');
+ }
+
+ public function testAutoIncrement() {
+
+ if (\OC::$server->getConfig()->getSystemValue('dbtype', 'sqlite') === 'oci') {
+ $this->markTestSkipped('Adding auto increment columns in Oracle is not supported.');
+ }
+
+ $connection = \OC_DB::getConnection();
+ $manager = new \OC\DB\MDB2SchemaManager($connection);
+
+ $manager->createDbFromStructure(__DIR__ . '/ts-autoincrement-before.xml');
+ $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('abc'));
+ $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('abc'));
+ $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('123'));
+ $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('123'));
+ $manager->updateDbFromStructure(__DIR__ . '/ts-autoincrement-after.xml');
+
+ $this->assertTrue(true);
+ }
+
+}
diff --git a/tests/lib/db/ts-autoincrement-after.xml b/tests/lib/db/ts-autoincrement-after.xml
new file mode 100644
index 00000000000..d4445f1e247
--- /dev/null
+++ b/tests/lib/db/ts-autoincrement-after.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<database>
+
+ <name>*dbname*</name>
+ <create>true</create>
+ <overwrite>false</overwrite>
+
+ <charset>utf8</charset>
+
+ <table>
+
+ <name>*dbprefix*table</name>
+
+ <declaration>
+ <field>
+ <name>auto_id</name>
+ <type>integer</type>
+ <default>0</default>
+ <notnull>true</notnull>
+ <autoincrement>1</autoincrement>
+ <length>4</length>
+ </field>
+ <field>
+ <name>textfield</name>
+ <type>text</type>
+ <default>foo</default>
+ <notnull>true</notnull>
+ <length>32</length>
+ </field>
+ </declaration>
+ </table>
+</database>
diff --git a/tests/lib/db/ts-autoincrement-before.xml b/tests/lib/db/ts-autoincrement-before.xml
new file mode 100644
index 00000000000..412739e9a71
--- /dev/null
+++ b/tests/lib/db/ts-autoincrement-before.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<database>
+
+ <name>*dbname*</name>
+ <create>true</create>
+ <overwrite>false</overwrite>
+
+ <charset>utf8</charset>
+
+ <table>
+
+ <name>*dbprefix*table</name>
+
+ <declaration>
+ <field>
+ <name>textfield</name>
+ <type>text</type>
+ <default>foo</default>
+ <notnull>true</notnull>
+ <length>32</length>
+ </field>
+ </declaration>
+ </table>
+</database>