diff --git a/plugins/calendar/drivers/database/SQL/mysql.initial.sql b/plugins/calendar/drivers/database/SQL/mysql.initial.sql index 9d3371e2..e29740bb 100644 --- a/plugins/calendar/drivers/database/SQL/mysql.initial.sql +++ b/plugins/calendar/drivers/database/SQL/mysql.initial.sql @@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS `calendars` ( INDEX `user_name_idx` (`user_id`, `name`), CONSTRAINT `fk_calendars_user_id` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE -) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; +) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `events` ( `event_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, @@ -54,7 +54,7 @@ CREATE TABLE IF NOT EXISTS `events` ( INDEX `calendar_notify_idx` (`calendar_id`,`notifyat`), CONSTRAINT `fk_events_calendar_id` FOREIGN KEY (`calendar_id`) REFERENCES `calendars`(`calendar_id`) ON DELETE CASCADE ON UPDATE CASCADE -) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; +) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `attachments` ( `attachment_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, @@ -66,7 +66,7 @@ CREATE TABLE IF NOT EXISTS `attachments` ( PRIMARY KEY(`attachment_id`), CONSTRAINT `fk_attachments_event_id` FOREIGN KEY (`event_id`) REFERENCES `events`(`event_id`) ON DELETE CASCADE ON UPDATE CASCADE -) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; +) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `itipinvitations` ( `token` VARCHAR(64) NOT NULL, @@ -79,6 +79,6 @@ CREATE TABLE IF NOT EXISTS `itipinvitations` ( INDEX `uid_idx` (`user_id`,`event_uid`), CONSTRAINT `fk_itipinvitations_user_id` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE -) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; +) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -REPLACE INTO `system` (`name`, `value`) VALUES ('calendar-database-version', '2015022700'); +REPLACE INTO `system` (`name`, `value`) VALUES ('calendar-database-version', '2021102600'); diff --git a/plugins/calendar/drivers/database/SQL/mysql/2021102600.sql b/plugins/calendar/drivers/database/SQL/mysql/2021102600.sql new file mode 100644 index 00000000..abee5904 --- /dev/null +++ b/plugins/calendar/drivers/database/SQL/mysql/2021102600.sql @@ -0,0 +1,24 @@ +-- changing table format and dropping foreign keys is needed for some versions of MySQL +ALTER TABLE `calendars` DROP FOREIGN KEY `fk_calendars_user_id`; +ALTER TABLE `events` DROP FOREIGN KEY`fk_events_calendar_id`; +ALTER TABLE `attachments` DROP FOREIGN KEY`fk_attachments_event_id`; +ALTER TABLE `itipinvitations` DROP FOREIGN KEY`fk_itipinvitations_user_id`; + +ALTER TABLE `calendars` ROW_FORMAT=DYNAMIC; +ALTER TABLE `events` ROW_FORMAT=DYNAMIC; +ALTER TABLE `attachments` ROW_FORMAT=DYNAMIC; +ALTER TABLE `itipinvitations` ROW_FORMAT=DYNAMIC; + +ALTER TABLE `calendars` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `events` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `attachments` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `itipinvitations` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +ALTER TABLE `calendars` ADD CONSTRAINT `fk_calendars_user_id` FOREIGN KEY (`user_id`) + REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE `events` ADD CONSTRAINT `fk_events_calendar_id` FOREIGN KEY (`calendar_id`) + REFERENCES `calendars`(`calendar_id`) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE `attachments` ADD CONSTRAINT `fk_attachments_event_id` FOREIGN KEY (`event_id`) + REFERENCES `events`(`event_id`) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE `itipinvitations` ADD CONSTRAINT `fk_itipinvitations_user_id` FOREIGN KEY (`user_id`) + REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/plugins/calendar/drivers/database/SQL/postgres.initial.sql b/plugins/calendar/drivers/database/SQL/postgres.initial.sql index 37fec95f..96efbb86 100644 --- a/plugins/calendar/drivers/database/SQL/postgres.initial.sql +++ b/plugins/calendar/drivers/database/SQL/postgres.initial.sql @@ -104,4 +104,4 @@ CREATE TABLE itipinvitations ( CREATE INDEX itipinvitations_user_id_event_uid_idx ON itipinvitations (user_id, event_uid); -INSERT INTO system (name, value) VALUES ('calendar-database-version', '2015022700'); +INSERT INTO system (name, value) VALUES ('calendar-database-version', '2021102600'); diff --git a/plugins/calendar/drivers/database/SQL/postgres/2021102600.sql b/plugins/calendar/drivers/database/SQL/postgres/2021102600.sql new file mode 100644 index 00000000..0711ed9d --- /dev/null +++ b/plugins/calendar/drivers/database/SQL/postgres/2021102600.sql @@ -0,0 +1 @@ +-- empty diff --git a/plugins/calendar/drivers/database/SQL/sqlite.initial.sql b/plugins/calendar/drivers/database/SQL/sqlite.initial.sql index a9aecdba..d4fdb368 100644 --- a/plugins/calendar/drivers/database/SQL/sqlite.initial.sql +++ b/plugins/calendar/drivers/database/SQL/sqlite.initial.sql @@ -75,4 +75,4 @@ CREATE TABLE itipinvitations ( CREATE INDEX ix_itipinvitations_uid ON itipinvitations(user_id, event_uid); -INSERT INTO system (name, value) VALUES ('calendar-database-version', '2015022700'); +INSERT INTO system (name, value) VALUES ('calendar-database-version', '2021102600'); diff --git a/plugins/calendar/drivers/database/SQL/sqlite/2021102600.sql b/plugins/calendar/drivers/database/SQL/sqlite/2021102600.sql new file mode 100644 index 00000000..0711ed9d --- /dev/null +++ b/plugins/calendar/drivers/database/SQL/sqlite/2021102600.sql @@ -0,0 +1 @@ +-- empty diff --git a/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql b/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql index 33c4e26a..25a0759b 100644 --- a/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql +++ b/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql @@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS `kolab_alarms` ( PRIMARY KEY(`alarm_id`,`user_id`), CONSTRAINT `fk_kolab_alarms_user_id` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE -) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; +) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `itipinvitations` ( `token` VARCHAR(64) NOT NULL, @@ -26,6 +26,6 @@ CREATE TABLE IF NOT EXISTS `itipinvitations` ( INDEX `uid_idx` (`event_uid`,`user_id`), CONSTRAINT `fk_itipinvitations_user_id` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE -) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; +) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -REPLACE INTO `system` (`name`, `value`) VALUES ('calendar-kolab-version', '2014041700'); +REPLACE INTO `system` (`name`, `value`) VALUES ('calendar-kolab-version', '2021102600'); diff --git a/plugins/calendar/drivers/kolab/SQL/mysql/2021102600.sql b/plugins/calendar/drivers/kolab/SQL/mysql/2021102600.sql new file mode 100644 index 00000000..c097e7ca --- /dev/null +++ b/plugins/calendar/drivers/kolab/SQL/mysql/2021102600.sql @@ -0,0 +1,14 @@ +-- changing table format and dropping foreign keys is needed for some versions of MySQL +ALTER TABLE `kolab_alarms` DROP FOREIGN KEY `fk_kolab_alarms_user_id`; +ALTER TABLE `itipinvitations` DROP FOREIGN KEY`fk_itipinvitations_user_id`; + +ALTER TABLE `kolab_alarms` ROW_FORMAT=DYNAMIC; +ALTER TABLE `itipinvitations` ROW_FORMAT=DYNAMIC; + +ALTER TABLE `kolab_alarms` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `itipinvitations` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +ALTER TABLE `kolab_alarms` ADD CONSTRAINT `fk_kolab_alarms_user_id` FOREIGN KEY (`user_id`) + REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE `itipinvitations` ADD CONSTRAINT `fk_itipinvitations_user_id` FOREIGN KEY (`user_id`) + REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/plugins/libkolab/README b/plugins/libkolab/README index a4afe326..c7785fe3 100644 --- a/plugins/libkolab/README +++ b/plugins/libkolab/README @@ -32,7 +32,6 @@ For available configuration options see config.inc.php.dist file. IMPORTANT --------- - This plugin doesn't work with the Classic skin of Roundcube because no templates are available for that skin. diff --git a/plugins/tasklist/drivers/database/SQL/mysql.initial.sql b/plugins/tasklist/drivers/database/SQL/mysql.initial.sql index d6dbd222..6751122f 100644 --- a/plugins/tasklist/drivers/database/SQL/mysql.initial.sql +++ b/plugins/tasklist/drivers/database/SQL/mysql.initial.sql @@ -16,7 +16,7 @@ CREATE TABLE IF NOT EXISTS `tasklists` ( KEY `user_id` (`user_id`), CONSTRAINT `fk_tasklist_user_id` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE -) /*!40000 ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci */; +) ROW_FORMAT=DYNAMIC ENGINE=InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `tasks` ( `task_id` int(10) unsigned NOT NULL AUTO_INCREMENT, @@ -46,6 +46,6 @@ CREATE TABLE IF NOT EXISTS `tasks` ( KEY `uid` (`uid`), CONSTRAINT `fk_tasks_tasklist_id` FOREIGN KEY (`tasklist_id`) REFERENCES `tasklists`(`tasklist_id`) ON DELETE CASCADE ON UPDATE CASCADE -) /*!40000 ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci */; +) ROW_FORMAT=DYNAMIC ENGINE=InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -REPLACE INTO `system` (`name`, `value`) VALUES ('tasklist-database-version', '2014051900'); +REPLACE INTO `system` (`name`, `value`) VALUES ('tasklist-database-version', '2021102600'); diff --git a/plugins/tasklist/drivers/database/SQL/mysql/2021102600.sql b/plugins/tasklist/drivers/database/SQL/mysql/2021102600.sql new file mode 100644 index 00000000..8a8c6af1 --- /dev/null +++ b/plugins/tasklist/drivers/database/SQL/mysql/2021102600.sql @@ -0,0 +1,14 @@ +-- changing table format and dropping foreign keys is needed for some versions of MySQL +ALTER TABLE `tasklists` DROP FOREIGN KEY `fk_tasklists_user_id`; +ALTER TABLE `tasks` DROP FOREIGN KEY`fk_tasks_tasklist_id`; + +ALTER TABLE `tasklists` ROW_FORMAT=DYNAMIC; +ALTER TABLE `tasks` ROW_FORMAT=DYNAMIC; + +ALTER TABLE `tasklists` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `tasks` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +ALTER TABLE `tasklists` ADD CONSTRAINT `fk_tasklist_user_id` FOREIGN KEY (`user_id`) + REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE `tasks` ADD CONSTRAINT `fk_tasks_tasklist_id` FOREIGN KEY (`tasklist_id`) + REFERENCES `tasklists`(`tasklist_id`) ON DELETE CASCADE ON UPDATE CASCADE;