Migrate kolab cache tables to utf8mb4
This commit is contained in:
parent
971c8d715c
commit
c2556f00e3
6 changed files with 62 additions and 18 deletions
|
@ -1,7 +1,6 @@
|
|||
/**
|
||||
* libkolab database schema
|
||||
*
|
||||
* @version 1.2
|
||||
* @author Thomas Bruederli
|
||||
* @licence GNU AGPL
|
||||
*/
|
||||
|
@ -20,7 +19,7 @@ CREATE TABLE `kolab_folders` (
|
|||
`objectcount` BIGINT DEFAULT NULL,
|
||||
PRIMARY KEY(`folder_id`),
|
||||
INDEX `resource_type` (`resource`, `type`)
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
|
||||
|
||||
DROP TABLE IF EXISTS `kolab_cache`;
|
||||
|
||||
|
@ -45,7 +44,7 @@ CREATE TABLE `kolab_cache_contact` (
|
|||
PRIMARY KEY(`folder_id`,`msguid`),
|
||||
INDEX `contact_type` (`folder_id`,`type`),
|
||||
INDEX `contact_uid2msguid` (`folder_id`,`uid`,`msguid`)
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
|
||||
|
||||
DROP TABLE IF EXISTS `kolab_cache_event`;
|
||||
|
||||
|
@ -64,7 +63,7 @@ CREATE TABLE `kolab_cache_event` (
|
|||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
PRIMARY KEY(`folder_id`,`msguid`),
|
||||
INDEX `event_uid2msguid` (`folder_id`,`uid`,`msguid`)
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
|
||||
|
||||
DROP TABLE IF EXISTS `kolab_cache_task`;
|
||||
|
||||
|
@ -83,7 +82,7 @@ CREATE TABLE `kolab_cache_task` (
|
|||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
PRIMARY KEY(`folder_id`,`msguid`),
|
||||
INDEX `task_uid2msguid` (`folder_id`,`uid`,`msguid`)
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
|
||||
|
||||
DROP TABLE IF EXISTS `kolab_cache_journal`;
|
||||
|
||||
|
@ -102,7 +101,7 @@ CREATE TABLE `kolab_cache_journal` (
|
|||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
PRIMARY KEY(`folder_id`,`msguid`),
|
||||
INDEX `journal_uid2msguid` (`folder_id`,`uid`,`msguid`)
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
|
||||
|
||||
DROP TABLE IF EXISTS `kolab_cache_note`;
|
||||
|
||||
|
@ -119,7 +118,7 @@ CREATE TABLE `kolab_cache_note` (
|
|||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
PRIMARY KEY(`folder_id`,`msguid`),
|
||||
INDEX `note_uid2msguid` (`folder_id`,`uid`,`msguid`)
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
|
||||
|
||||
DROP TABLE IF EXISTS `kolab_cache_file`;
|
||||
|
||||
|
@ -138,7 +137,7 @@ CREATE TABLE `kolab_cache_file` (
|
|||
PRIMARY KEY(`folder_id`,`msguid`),
|
||||
INDEX `folder_filename` (`folder_id`, `filename`),
|
||||
INDEX `file_uid2msguid` (`folder_id`,`uid`,`msguid`)
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
|
||||
|
||||
DROP TABLE IF EXISTS `kolab_cache_configuration`;
|
||||
|
||||
|
@ -157,7 +156,7 @@ CREATE TABLE `kolab_cache_configuration` (
|
|||
PRIMARY KEY(`folder_id`,`msguid`),
|
||||
INDEX `configuration_type` (`folder_id`,`type`),
|
||||
INDEX `configuration_uid2msguid` (`folder_id`,`uid`,`msguid`)
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
|
||||
|
||||
DROP TABLE IF EXISTS `kolab_cache_freebusy`;
|
||||
|
||||
|
@ -176,8 +175,8 @@ CREATE TABLE `kolab_cache_freebusy` (
|
|||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
PRIMARY KEY(`folder_id`,`msguid`),
|
||||
INDEX `freebusy_uid2msguid` (`folder_id`,`uid`,`msguid`)
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
|
||||
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=1 */;
|
||||
|
||||
REPLACE INTO `system` (`name`, `value`) VALUES ('libkolab-version', '2019092900');
|
||||
REPLACE INTO `system` (`name`, `value`) VALUES ('libkolab-version', '2021101100');
|
||||
|
|
46
plugins/libkolab/SQL/mysql/2021101100.sql
Normal file
46
plugins/libkolab/SQL/mysql/2021101100.sql
Normal file
|
@ -0,0 +1,46 @@
|
|||
-- changing table format and dropping foreign keys is needed for some versions of MySQL
|
||||
ALTER TABLE `kolab_cache_contact` DROP FOREIGN KEY `fk_kolab_cache_contact_folder`;
|
||||
ALTER TABLE `kolab_cache_event` DROP FOREIGN KEY`fk_kolab_cache_event_folder`;
|
||||
ALTER TABLE `kolab_cache_task` DROP FOREIGN KEY`fk_kolab_cache_task_folder`;
|
||||
ALTER TABLE `kolab_cache_journal` DROP FOREIGN KEY`fk_kolab_cache_journal_folder`;
|
||||
ALTER TABLE `kolab_cache_note` DROP FOREIGN KEY`fk_kolab_cache_note_folder`;
|
||||
ALTER TABLE `kolab_cache_file` DROP FOREIGN KEY`fk_kolab_cache_file_folder`;
|
||||
ALTER TABLE `kolab_cache_configuration` DROP FOREIGN KEY`fk_kolab_cache_configuration_folder`;
|
||||
ALTER TABLE `kolab_cache_freebusy` DROP FOREIGN KEY`fk_kolab_cache_freebusy_folder`;
|
||||
|
||||
ALTER TABLE `kolab_folders` ROW_FORMAT=DYNAMIC;
|
||||
ALTER TABLE `kolab_cache_contact` ROW_FORMAT=DYNAMIC;
|
||||
ALTER TABLE `kolab_cache_event` ROW_FORMAT=DYNAMIC;
|
||||
ALTER TABLE `kolab_cache_task` ROW_FORMAT=DYNAMIC;
|
||||
ALTER TABLE `kolab_cache_journal` ROW_FORMAT=DYNAMIC;
|
||||
ALTER TABLE `kolab_cache_note` ROW_FORMAT=DYNAMIC;
|
||||
ALTER TABLE `kolab_cache_file` ROW_FORMAT=DYNAMIC;
|
||||
ALTER TABLE `kolab_cache_configuration` ROW_FORMAT=DYNAMIC;
|
||||
ALTER TABLE `kolab_cache_freebusy` ROW_FORMAT=DYNAMIC;
|
||||
|
||||
ALTER TABLE `kolab_folders` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
ALTER TABLE `kolab_cache_contact` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
ALTER TABLE `kolab_cache_event` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
ALTER TABLE `kolab_cache_task` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
ALTER TABLE `kolab_cache_journal` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
ALTER TABLE `kolab_cache_note` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
ALTER TABLE `kolab_cache_file` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
ALTER TABLE `kolab_cache_configuration` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
ALTER TABLE `kolab_cache_freebusy` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
ALTER TABLE `kolab_cache_contact` ADD CONSTRAINT `fk_kolab_cache_contact_folder` FOREIGN KEY (`folder_id`)
|
||||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `kolab_cache_event` ADD CONSTRAINT `fk_kolab_cache_event_folder` FOREIGN KEY (`folder_id`)
|
||||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `kolab_cache_task` ADD CONSTRAINT `fk_kolab_cache_task_folder` FOREIGN KEY (`folder_id`)
|
||||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `kolab_cache_journal` ADD CONSTRAINT `fk_kolab_cache_journal_folder` FOREIGN KEY (`folder_id`)
|
||||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `kolab_cache_note` ADD CONSTRAINT `fk_kolab_cache_note_folder` FOREIGN KEY (`folder_id`)
|
||||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `kolab_cache_file` ADD CONSTRAINT `fk_kolab_cache_file_folder` FOREIGN KEY (`folder_id`)
|
||||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `kolab_cache_configuration` ADD CONSTRAINT `fk_kolab_cache_configuration_folder` FOREIGN KEY (`folder_id`)
|
||||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `kolab_cache_freebusy` ADD CONSTRAINT `fk_kolab_cache_freebusy_folder` FOREIGN KEY (`folder_id`)
|
||||
REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@ -1,11 +1,9 @@
|
|||
/**
|
||||
* libkolab database schema
|
||||
*
|
||||
* @version 1.2
|
||||
* @author Aleksander Machniak
|
||||
* @licence GNU AGPL
|
||||
**/
|
||||
|
||||
*/
|
||||
|
||||
CREATE TABLE "kolab_folders" (
|
||||
"folder_id" number NOT NULL PRIMARY KEY,
|
||||
|
@ -175,4 +173,4 @@ CREATE TABLE "kolab_cache_freebusy" (
|
|||
CREATE INDEX "kolab_cache_fb_uid2msguid" ON "kolab_cache_freebusy" ("folder_id", "uid", "msguid");
|
||||
|
||||
|
||||
INSERT INTO "system" ("name", "value") VALUES ('libkolab-version', '2019092900');
|
||||
INSERT INTO "system" ("name", "value") VALUES ('libkolab-version', '2021101100');
|
||||
|
|
1
plugins/libkolab/SQL/oracle/2021101100.sql
Normal file
1
plugins/libkolab/SQL/oracle/2021101100.sql
Normal file
|
@ -0,0 +1 @@
|
|||
-- empty
|
|
@ -1,10 +1,9 @@
|
|||
/**
|
||||
* libkolab database schema
|
||||
*
|
||||
* @version 1.2
|
||||
* @author Thomas Bruederli
|
||||
* @licence GNU AGPL
|
||||
**/
|
||||
*/
|
||||
|
||||
CREATE TABLE kolab_folders (
|
||||
folder_id INTEGER NOT NULL PRIMARY KEY,
|
||||
|
@ -148,4 +147,4 @@ CREATE TABLE kolab_cache_freebusy (
|
|||
|
||||
CREATE INDEX ix_freebusy_uid2msguid ON kolab_cache_freebusy(folder_id,uid,msguid);
|
||||
|
||||
INSERT INTO system (name, value) VALUES ('libkolab-version', '2019092900');
|
||||
INSERT INTO system (name, value) VALUES ('libkolab-version', '2021101100');
|
||||
|
|
1
plugins/libkolab/SQL/sqlite/2021101100.sql
Normal file
1
plugins/libkolab/SQL/sqlite/2021101100.sql
Normal file
|
@ -0,0 +1 @@
|
|||
-- empty
|
Loading…
Add table
Reference in a new issue