diff options
author | Robin Appelman <icewind@owncloud.com> | 2015-11-02 13:13:06 +0100 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2015-12-04 13:48:21 +0100 |
commit | a1898dc2bf9a89def29c1437903e560609f0cf40 (patch) | |
tree | 527d941bd240dd1c02760819724d21dfdd5d041c /apps/files_external/appinfo | |
parent | 98bb8372f7f0ab1f669cdd92d439814e1b6aaa1a (diff) | |
download | nextcloud-server-a1898dc2bf9a89def29c1437903e560609f0cf40.tar.gz nextcloud-server-a1898dc2bf9a89def29c1437903e560609f0cf40.zip |
db config backend for files_external
Diffstat (limited to 'apps/files_external/appinfo')
-rw-r--r-- | apps/files_external/appinfo/database.xml | 222 | ||||
-rw-r--r-- | apps/files_external/appinfo/info.xml | 2 | ||||
-rw-r--r-- | apps/files_external/appinfo/update.php | 30 |
3 files changed, 253 insertions, 1 deletions
diff --git a/apps/files_external/appinfo/database.xml b/apps/files_external/appinfo/database.xml new file mode 100644 index 00000000000..27918bf9819 --- /dev/null +++ b/apps/files_external/appinfo/database.xml @@ -0,0 +1,222 @@ +<database> + <name>*dbname*</name> + <create>true</create> + <overwrite>false</overwrite> + <charset>utf8</charset> + <table> + <name>*dbprefix*external_mounts</name> + <declaration> + <field> + <name>mount_id</name> + <type>integer</type> + <default>0</default> + <notnull>true</notnull> + <autoincrement>1</autoincrement> + <length>6</length> + </field> + <field> + <name>mount_point</name> + <type>text</type> + <length>128</length> + <notnull>true</notnull> + </field> + <field> + <name>storage_backend</name> + <type>text</type> + <length>64</length> + <notnull>true</notnull> + </field> + <field> + <name>auth_backend</name> + <type>text</type> + <length>64</length> + <notnull>true</notnull> + </field> + <field> + <name>priority</name> + <type>integer</type> + <default>100</default> + <length>4</length> + <notnull>true</notnull> + </field> + <!-- admin = 1, personal = 2--> + <field> + <name>type</name> + <type>integer</type> + <length>4</length> + <notnull>true</notnull> + </field> + </declaration> + </table> + <table> + <name>*dbprefix*external_applicable</name> + <declaration> + <field> + <name>applicable_id</name> + <type>integer</type> + <default>0</default> + <notnull>true</notnull> + <autoincrement>1</autoincrement> + <length>6</length> + </field> + <field> + <!--foreign key: external_mounts.mount_id--> + <name>mount_id</name> + <type>integer</type> + <notnull>true</notnull> + <length>6</length> + </field> + <field> + <!-- possible mount types: global = 1, group = 2, user = 3 --> + <name>type</name> + <type>integer</type> + <length>4</length> + <notnull>true</notnull> + </field> + <field> + <!-- user_id, group_id or null for global mounts --> + <name>value</name> + <type>text</type> + <length>64</length> + </field> + <index> + <name>mount_id_app_index</name> + <field> + <name>mount_id</name> + <sorting>ascending</sorting> + </field> + </index> + <index> + <name>applicable_value_index</name> + <field> + <name>type</name> + <sorting>ascending</sorting> + </field> + <field> + <name>value</name> + <sorting>ascending</sorting> + </field> + </index> + <index> + <name>applicable_value_mount_index</name> + <unique>true</unique> + <field> + <name>type</name> + <sorting>ascending</sorting> + </field> + <field> + <name>value</name> + <sorting>ascending</sorting> + </field> + <field> + <name>mount_id</name> + <sorting>ascending</sorting> + </field> + </index> + </declaration> + </table> + <table> + <name>*dbprefix*external_config</name> + <declaration> + <field> + <name>config_id</name> + <type>integer</type> + <default>0</default> + <notnull>true</notnull> + <autoincrement>1</autoincrement> + <length>6</length> + </field> + <field> + <!--foreign key: external_mounts.mount_id--> + <name>mount_id</name> + <type>integer</type> + <notnull>true</notnull> + <length>6</length> + </field> + <field> + <name>key</name> + <type>text</type> + <notnull>true</notnull> + <length>64</length> + </field> + <field> + <name>value</name> + <type>text</type> + <notnull>true</notnull> + <length>4096</length> + </field> + + <index> + <name>config_mount_id</name> + <field> + <name>mount_id</name> + <sorting>ascending</sorting> + </field> + </index> + <index> + <name>config_mount_key</name> + <unique>true</unique> + <field> + <name>mount_id</name> + <sorting>ascending</sorting> + </field> + <field> + <name>key</name> + <sorting>ascending</sorting> + </field> + </index> + </declaration> + </table> + <table> + <name>*dbprefix*external_options</name> + <declaration> + <field> + <name>option_id</name> + <type>integer</type> + <default>0</default> + <notnull>true</notnull> + <autoincrement>1</autoincrement> + <length>6</length> + </field> + <field> + <!--foreign key: external_mounts.mount_id--> + <name>mount_id</name> + <type>integer</type> + <notnull>true</notnull> + <length>6</length> + </field> + <field> + <name>key</name> + <type>text</type> + <notnull>true</notnull> + <length>64</length> + </field> + <field> + <name>value</name> + <type>text</type> + <notnull>true</notnull> + <length>256</length> + </field> + + <index> + <name>option_mount_id</name> + <field> + <name>mount_id</name> + <sorting>ascending</sorting> + </field> + </index> + <index> + <name>option_mount_key</name> + <unique>true</unique> + <field> + <name>mount_id</name> + <sorting>ascending</sorting> + </field> + <field> + <name>key</name> + <sorting>ascending</sorting> + </field> + </index> + </declaration> + </table> +</database> diff --git a/apps/files_external/appinfo/info.xml b/apps/files_external/appinfo/info.xml index bb494a2eaba..f6d583d0a5a 100644 --- a/apps/files_external/appinfo/info.xml +++ b/apps/files_external/appinfo/info.xml @@ -14,7 +14,7 @@ <admin>admin-external-storage</admin> </documentation> <rememberlogin>false</rememberlogin> - <version>0.4.0</version> + <version>0.5.0</version> <types> <filesystem/> </types> diff --git a/apps/files_external/appinfo/update.php b/apps/files_external/appinfo/update.php new file mode 100644 index 00000000000..2eedfe9b88f --- /dev/null +++ b/apps/files_external/appinfo/update.php @@ -0,0 +1,30 @@ +<?php +/** + * @author Robin Appelman <icewind@owncloud.com> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * 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, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +$installedVersion = \OC::$server->getConfig()->getAppValue('files_external', 'installed_version'); + +$app = new \OCA\Files_external\Appinfo\Application(); + +// Migration to db config +if (version_compare($installedVersion, '0.5.0', '<')) { + $migrator = $app->getContainer()->query('OCA\Files_external\Migration\StorageMigrator'); + $migrator->migrateGlobal(); +} |