diff --git a/plugins/calendar/drivers/database/SQL/mysql.initial.sql b/plugins/calendar/drivers/database/SQL/mysql.initial.sql index 5f6dd605..9d3371e2 100644 --- a/plugins/calendar/drivers/database/SQL/mysql.initial.sql +++ b/plugins/calendar/drivers/database/SQL/mysql.initial.sql @@ -1,85 +1,84 @@ /** * Roundcube Calendar * * Plugin to add a calendar to Roundcube. * * @author Lazlo Westerhof * @author Thomas Bruederli * @licence GNU AGPL * @copyright (c) 2010 Lazlo Westerhof - Netherlands * @copyright (c) 2014 Kolab Systems AG - * - **/ + */ CREATE TABLE IF NOT EXISTS `calendars` ( `calendar_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', `name` varchar(255) NOT NULL, `color` varchar(8) NOT NULL, `showalarms` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY(`calendar_id`), 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 */; CREATE TABLE IF NOT EXISTS `events` ( `event_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `calendar_id` int(11) UNSIGNED NOT NULL DEFAULT '0', `recurrence_id` int(11) UNSIGNED NOT NULL DEFAULT '0', `uid` varchar(255) NOT NULL DEFAULT '', `instance` varchar(16) NOT NULL DEFAULT '', `isexception` tinyint(1) NOT NULL DEFAULT '0', `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', `sequence` int(1) UNSIGNED NOT NULL DEFAULT '0', `start` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', `end` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', `recurrence` varchar(255) DEFAULT NULL, `title` varchar(255) NOT NULL, `description` text NOT NULL, `location` varchar(255) NOT NULL DEFAULT '', `categories` varchar(255) NOT NULL DEFAULT '', `url` varchar(255) NOT NULL DEFAULT '', `all_day` tinyint(1) NOT NULL DEFAULT '0', `free_busy` tinyint(1) NOT NULL DEFAULT '0', `priority` tinyint(1) NOT NULL DEFAULT '0', `sensitivity` tinyint(1) NOT NULL DEFAULT '0', `status` varchar(32) NOT NULL DEFAULT '', `alarms` text DEFAULT NULL, `attendees` text DEFAULT NULL, `notifyat` datetime DEFAULT NULL, PRIMARY KEY(`event_id`), INDEX `uid_idx` (`uid`), INDEX `recurrence_idx` (`recurrence_id`), 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 */; CREATE TABLE IF NOT EXISTS `attachments` ( `attachment_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `event_id` int(11) UNSIGNED NOT NULL DEFAULT '0', `filename` varchar(255) NOT NULL DEFAULT '', `mimetype` varchar(255) NOT NULL DEFAULT '', `size` int(11) NOT NULL DEFAULT '0', `data` longtext NOT NULL, 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 */; CREATE TABLE IF NOT EXISTS `itipinvitations` ( `token` VARCHAR(64) NOT NULL, `event_uid` VARCHAR(255) NOT NULL, `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', `event` TEXT NOT NULL, `expires` DATETIME DEFAULT NULL, `cancelled` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY(`token`), 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 */; -REPLACE INTO system (name, value) VALUES ('calendar-database-version', '2015022700'); +REPLACE INTO `system` (`name`, `value`) VALUES ('calendar-database-version', '2015022700'); diff --git a/plugins/calendar/drivers/database/SQL/postgres.initial.sql b/plugins/calendar/drivers/database/SQL/postgres.initial.sql index b170086c..37fec95f 100644 --- a/plugins/calendar/drivers/database/SQL/postgres.initial.sql +++ b/plugins/calendar/drivers/database/SQL/postgres.initial.sql @@ -1,109 +1,107 @@ /** * RoundCube Calendar * * Plugin to add a calendar to RoundCube. * * @author Lazlo Westerhof * @author Albert Lee * @author Aleksander Machniak * @licence GNU AGPL * @copyright (c) 2010 Lazlo Westerhof - Netherlands * @copyright (c) 2014 Kolab Systems AG - * - **/ - + */ CREATE SEQUENCE calendars_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; CREATE TABLE calendars ( calendar_id integer DEFAULT nextval('calendars_seq'::regclass) NOT NULL, user_id integer NOT NULL REFERENCES users (user_id) ON UPDATE CASCADE ON DELETE CASCADE, name varchar(255) NOT NULL, color varchar(8) NOT NULL, showalarms smallint NOT NULL DEFAULT 1, PRIMARY KEY (calendar_id) ); CREATE INDEX calendars_user_id_idx ON calendars (user_id, name); CREATE SEQUENCE events_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; CREATE TABLE events ( event_id integer DEFAULT nextval('events_seq'::regclass) NOT NULL, calendar_id integer NOT NULL REFERENCES calendars (calendar_id) ON UPDATE CASCADE ON DELETE CASCADE, recurrence_id integer NOT NULL DEFAULT 0, uid varchar(255) NOT NULL DEFAULT '', instance varchar(16) NOT NULL DEFAULT '', isexception smallint NOT NULL DEFAULT '0', created timestamp without time zone DEFAULT now() NOT NULL, changed timestamp without time zone DEFAULT now(), sequence integer NOT NULL DEFAULT 0, "start" timestamp without time zone DEFAULT now() NOT NULL, "end" timestamp without time zone DEFAULT now() NOT NULL, recurrence varchar(255) DEFAULT NULL, title character varying(255) NOT NULL DEFAULT '', description text NOT NULL DEFAULT '', location character varying(255) NOT NULL DEFAULT '', categories character varying(255) NOT NULL DEFAULT '', url character varying(255) NOT NULL DEFAULT '', all_day smallint NOT NULL DEFAULT 0, free_busy smallint NOT NULL DEFAULT 0, priority smallint NOT NULL DEFAULT 0, sensitivity smallint NOT NULL DEFAULT 0, status character varying(32) NOT NULL DEFAULT '', alarms text DEFAULT NULL, attendees text DEFAULT NULL, notifyat timestamp without time zone DEFAULT NULL, PRIMARY KEY (event_id) ); CREATE INDEX events_calendar_id_notifyat_idx ON events (calendar_id, notifyat); CREATE INDEX events_uid_idx ON events (uid); CREATE INDEX events_recurrence_id_idx ON events (recurrence_id); CREATE SEQUENCE attachments_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; CREATE TABLE attachments ( attachment_id integer DEFAULT nextval('attachments_seq'::regclass) NOT NULL, event_id integer NOT NULL REFERENCES events (event_id) ON DELETE CASCADE ON UPDATE CASCADE, filename varchar(255) NOT NULL DEFAULT '', mimetype varchar(255) NOT NULL DEFAULT '', size integer NOT NULL DEFAULT 0, data text NOT NULL DEFAULT '', PRIMARY KEY (attachment_id) ); CREATE INDEX attachments_user_id_idx ON attachments (event_id); CREATE TABLE itipinvitations ( token varchar(64) NOT NULL, event_uid varchar(255) NOT NULL, user_id integer NOT NULL REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, event TEXT NOT NULL, expires timestamp without time zone DEFAULT NULL, cancelled smallint NOT NULL DEFAULT 0, PRIMARY KEY (token) ); CREATE INDEX itipinvitations_user_id_event_uid_idx ON itipinvitations (user_id, event_uid); INSERT INTO system (name, value) VALUES ('calendar-database-version', '2015022700'); diff --git a/plugins/calendar/drivers/database/SQL/sqlite.initial.sql b/plugins/calendar/drivers/database/SQL/sqlite.initial.sql index c8aa9718..a9aecdba 100644 --- a/plugins/calendar/drivers/database/SQL/sqlite.initial.sql +++ b/plugins/calendar/drivers/database/SQL/sqlite.initial.sql @@ -1,79 +1,78 @@ /** * Roundcube Calendar * * Plugin to add a calendar to Roundcube. * * @author Lazlo Westerhof * @author Thomas Bruederli * @author Albert Lee * @licence GNU AGPL * @copyright (c) 2010 Lazlo Westerhof - Netherlands * @copyright (c) 2014 Kolab Systems AG - * - **/ + */ CREATE TABLE calendars ( calendar_id integer NOT NULL PRIMARY KEY, user_id integer NOT NULL default '0', name varchar(255) NOT NULL default '', color varchar(255) NOT NULL default '', showalarms tinyint(1) NOT NULL default '1', CONSTRAINT fk_calendars_user_id FOREIGN KEY (user_id) REFERENCES users(user_id) ); CREATE TABLE events ( event_id integer NOT NULL PRIMARY KEY, calendar_id integer NOT NULL default '0', recurrence_id integer NOT NULL default '0', uid varchar(255) NOT NULL default '', instance varchar(16) NOT NULL default '', isexception tinyint(1) NOT NULL default '0', created datetime NOT NULL default '1000-01-01 00:00:00', changed datetime NOT NULL default '1000-01-01 00:00:00', sequence integer NOT NULL default '0', start datetime NOT NULL default '1000-01-01 00:00:00', end datetime NOT NULL default '1000-01-01 00:00:00', recurrence varchar(255) default NULL, title varchar(255) NOT NULL, description text NOT NULL, location varchar(255) NOT NULL default '', categories varchar(255) NOT NULL default '', url varchar(255) NOT NULL default '', all_day tinyint(1) NOT NULL default '0', free_busy tinyint(1) NOT NULL default '0', priority tinyint(1) NOT NULL default '0', sensitivity tinyint(1) NOT NULL default '0', status varchar(32) NOT NULL default '', alarms text default NULL, attendees text default NULL, notifyat datetime default NULL, CONSTRAINT fk_events_calendar_id FOREIGN KEY (calendar_id) REFERENCES calendars(calendar_id) ); CREATE TABLE attachments ( attachment_id integer NOT NULL PRIMARY KEY, event_id integer NOT NULL default '0', filename varchar(255) NOT NULL default '', mimetype varchar(255) NOT NULL default '', size integer NOT NULL default '0', data text NOT NULL default '', CONSTRAINT fk_attachment_event_id FOREIGN KEY (event_id) REFERENCES events(event_id) ); CREATE TABLE itipinvitations ( token varchar(64) NOT NULL PRIMARY KEY, event_uid varchar(255) NOT NULL, user_id integer NOT NULL default '0', event text NOT NULL, expires datetime NOT NULL default '1000-01-01 00:00:00', cancelled tinyint(1) NOT NULL default '0', CONSTRAINT fk_itipinvitations_user_id FOREIGN KEY (user_id) REFERENCES users(user_id) ); CREATE INDEX ix_itipinvitations_uid ON itipinvitations(user_id, event_uid); INSERT INTO system (name, value) VALUES ('calendar-database-version', '2015022700'); diff --git a/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql b/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql index f672fb74..33c4e26a 100644 --- a/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql +++ b/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql @@ -1,32 +1,31 @@ /** * Roundcube Calendar Kolab backend * - * @version @package_version@ * @author Thomas Bruederli * @licence GNU AGPL **/ CREATE TABLE IF NOT EXISTS `kolab_alarms` ( `alarm_id` VARCHAR(255) NOT NULL, `user_id` int(10) UNSIGNED NOT NULL, `notifyat` DATETIME DEFAULT NULL, `dismissed` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', 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 */; CREATE TABLE IF NOT EXISTS `itipinvitations` ( `token` VARCHAR(64) NOT NULL, `event_uid` VARCHAR(255) NOT NULL, `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', `event` TEXT NOT NULL, `expires` DATETIME DEFAULT NULL, `cancelled` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY(`token`), 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 */; -REPLACE INTO system (name, value) VALUES ('calendar-kolab-version', '2014041700'); +REPLACE INTO `system` (`name`, `value`) VALUES ('calendar-kolab-version', '2014041700'); diff --git a/plugins/calendar/drivers/kolab/SQL/sqlite.initial.sql b/plugins/calendar/drivers/kolab/SQL/sqlite.initial.sql index b6067d7d..308921df 100644 --- a/plugins/calendar/drivers/kolab/SQL/sqlite.initial.sql +++ b/plugins/calendar/drivers/kolab/SQL/sqlite.initial.sql @@ -1,30 +1,29 @@ /** * Roundcube Calendar Kolab backend * - * @version @package_version@ * @author Thomas Bruederli * @licence GNU AGPL **/ CREATE TABLE kolab_alarms ( alarm_id VARCHAR(255) NOT NULL, user_id INTEGER NOT NULL, notifyat DATETIME DEFAULT NULL, dismissed TINYINT(3) NOT NULL DEFAULT '0', PRIMARY KEY(alarm_id,user_id) ); CREATE INDEX ix_kolab_alarms_user_id ON kolab_alarms(user_id); CREATE TABLE itipinvitations ( token VARCHAR(64) NOT NULL PRIMARY KEY, event_uid VARCHAR(255) NOT NULL, user_id INTEGER NOT NULL DEFAULT '0', event TEXT NOT NULL, expires DATETIME DEFAULT NULL, cancelled TINYINT(3) NOT NULL DEFAULT '0' ); CREATE INDEX ix_itipinvitations_uid ON itipinvitations(event_uid,user_id); INSERT INTO system (name, value) VALUES ('calendar-kolab-version', '2014041700'); diff --git a/plugins/libkolab/SQL/mysql.initial.sql b/plugins/libkolab/SQL/mysql.initial.sql index a2d54a33..36b39903 100644 --- a/plugins/libkolab/SQL/mysql.initial.sql +++ b/plugins/libkolab/SQL/mysql.initial.sql @@ -1,183 +1,183 @@ /** * libkolab database schema * * @version 1.2 * @author Thomas Bruederli * @licence GNU AGPL - **/ + */ /*!40014 SET FOREIGN_KEY_CHECKS=0 */; DROP TABLE IF EXISTS `kolab_folders`; CREATE TABLE `kolab_folders` ( `folder_id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `resource` VARCHAR(255) BINARY NOT NULL, `type` VARCHAR(32) NOT NULL, `synclock` INT(10) NOT NULL DEFAULT '0', `ctag` VARCHAR(40) DEFAULT NULL, `changed` DATETIME DEFAULT NULL, `objectcount` BIGINT DEFAULT NULL, PRIMARY KEY(`folder_id`), INDEX `resource_type` (`resource`, `type`) ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; DROP TABLE IF EXISTS `kolab_cache`; DROP TABLE IF EXISTS `kolab_cache_contact`; CREATE TABLE `kolab_cache_contact` ( `folder_id` BIGINT UNSIGNED NOT NULL, `msguid` BIGINT UNSIGNED NOT NULL, `uid` VARCHAR(512) NOT NULL, `created` DATETIME DEFAULT NULL, `changed` DATETIME DEFAULT NULL, `data` LONGTEXT NOT NULL, `tags` TEXT NOT NULL, `words` TEXT NOT NULL, `type` VARCHAR(32) CHARACTER SET ascii NOT NULL, `name` VARCHAR(255) NOT NULL, `firstname` VARCHAR(255) NOT NULL, `surname` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, CONSTRAINT `fk_kolab_cache_contact_folder` FOREIGN KEY (`folder_id`) REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE, 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 */; DROP TABLE IF EXISTS `kolab_cache_event`; CREATE TABLE `kolab_cache_event` ( `folder_id` BIGINT UNSIGNED NOT NULL, `msguid` BIGINT UNSIGNED NOT NULL, `uid` VARCHAR(512) NOT NULL, `created` DATETIME DEFAULT NULL, `changed` DATETIME DEFAULT NULL, `data` LONGTEXT NOT NULL, `tags` TEXT NOT NULL, `words` TEXT NOT NULL, `dtstart` DATETIME, `dtend` DATETIME, CONSTRAINT `fk_kolab_cache_event_folder` FOREIGN KEY (`folder_id`) 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 */; DROP TABLE IF EXISTS `kolab_cache_task`; CREATE TABLE `kolab_cache_task` ( `folder_id` BIGINT UNSIGNED NOT NULL, `msguid` BIGINT UNSIGNED NOT NULL, `uid` VARCHAR(512) NOT NULL, `created` DATETIME DEFAULT NULL, `changed` DATETIME DEFAULT NULL, `data` LONGTEXT NOT NULL, `tags` TEXT NOT NULL, `words` TEXT NOT NULL, `dtstart` DATETIME, `dtend` DATETIME, CONSTRAINT `fk_kolab_cache_task_folder` FOREIGN KEY (`folder_id`) 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 */; DROP TABLE IF EXISTS `kolab_cache_journal`; CREATE TABLE `kolab_cache_journal` ( `folder_id` BIGINT UNSIGNED NOT NULL, `msguid` BIGINT UNSIGNED NOT NULL, `uid` VARCHAR(512) NOT NULL, `created` DATETIME DEFAULT NULL, `changed` DATETIME DEFAULT NULL, `data` LONGTEXT NOT NULL, `tags` TEXT NOT NULL, `words` TEXT NOT NULL, `dtstart` DATETIME, `dtend` DATETIME, CONSTRAINT `fk_kolab_cache_journal_folder` FOREIGN KEY (`folder_id`) 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 */; DROP TABLE IF EXISTS `kolab_cache_note`; CREATE TABLE `kolab_cache_note` ( `folder_id` BIGINT UNSIGNED NOT NULL, `msguid` BIGINT UNSIGNED NOT NULL, `uid` VARCHAR(512) NOT NULL, `created` DATETIME DEFAULT NULL, `changed` DATETIME DEFAULT NULL, `data` LONGTEXT NOT NULL, `tags` TEXT NOT NULL, `words` TEXT NOT NULL, CONSTRAINT `fk_kolab_cache_note_folder` FOREIGN KEY (`folder_id`) 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 */; DROP TABLE IF EXISTS `kolab_cache_file`; CREATE TABLE `kolab_cache_file` ( `folder_id` BIGINT UNSIGNED NOT NULL, `msguid` BIGINT UNSIGNED NOT NULL, `uid` VARCHAR(512) NOT NULL, `created` DATETIME DEFAULT NULL, `changed` DATETIME DEFAULT NULL, `data` LONGTEXT NOT NULL, `tags` TEXT NOT NULL, `words` TEXT NOT NULL, `filename` varchar(255) DEFAULT NULL, CONSTRAINT `fk_kolab_cache_file_folder` FOREIGN KEY (`folder_id`) REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE, 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 */; DROP TABLE IF EXISTS `kolab_cache_configuration`; CREATE TABLE `kolab_cache_configuration` ( `folder_id` BIGINT UNSIGNED NOT NULL, `msguid` BIGINT UNSIGNED NOT NULL, `uid` VARCHAR(512) NOT NULL, `created` DATETIME DEFAULT NULL, `changed` DATETIME DEFAULT NULL, `data` LONGTEXT NOT NULL, `tags` TEXT NOT NULL, `words` TEXT NOT NULL, `type` VARCHAR(32) CHARACTER SET ascii NOT NULL, CONSTRAINT `fk_kolab_cache_configuration_folder` FOREIGN KEY (`folder_id`) REFERENCES `kolab_folders`(`folder_id`) ON DELETE CASCADE ON UPDATE CASCADE, 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 */; DROP TABLE IF EXISTS `kolab_cache_freebusy`; CREATE TABLE `kolab_cache_freebusy` ( `folder_id` BIGINT UNSIGNED NOT NULL, `msguid` BIGINT UNSIGNED NOT NULL, `uid` VARCHAR(512) NOT NULL, `created` DATETIME DEFAULT NULL, `changed` DATETIME DEFAULT NULL, `data` LONGTEXT NOT NULL, `tags` TEXT NOT NULL, `words` TEXT NOT NULL, `dtstart` DATETIME, `dtend` DATETIME, CONSTRAINT `fk_kolab_cache_freebusy_folder` FOREIGN KEY (`folder_id`) 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 */; /*!40014 SET FOREIGN_KEY_CHECKS=1 */; REPLACE INTO `system` (`name`, `value`) VALUES ('libkolab-version', '2019092900'); diff --git a/plugins/tasklist/drivers/database/SQL/mysql.initial.sql b/plugins/tasklist/drivers/database/SQL/mysql.initial.sql index aae636da..d6dbd222 100644 --- a/plugins/tasklist/drivers/database/SQL/mysql.initial.sql +++ b/plugins/tasklist/drivers/database/SQL/mysql.initial.sql @@ -1,52 +1,51 @@ /** * Roundcube Tasklist plugin database * - * @version @package_version@ * @author Thomas Bruederli * @licence GNU AGPL * @copyright (C) 2012, Kolab Systems AG */ CREATE TABLE IF NOT EXISTS `tasklists` ( `tasklist_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL, `name` varchar(255) NOT NULL, `color` varchar(8) NOT NULL, `showalarms` tinyint(2) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`tasklist_id`), 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 */; CREATE TABLE IF NOT EXISTS `tasks` ( `task_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `tasklist_id` int(10) unsigned NOT NULL, `parent_id` int(10) unsigned DEFAULT NULL, `uid` varchar(255) NOT NULL, `created` datetime NOT NULL, `changed` datetime NOT NULL, `del` tinyint(1) unsigned NOT NULL DEFAULT '0', `title` varchar(255) NOT NULL, `description` text, `tags` text, `date` varchar(10) DEFAULT NULL, `time` varchar(5) DEFAULT NULL, `startdate` varchar(10) DEFAULT NULL, `starttime` varchar(5) DEFAULT NULL, `flagged` tinyint(4) NOT NULL DEFAULT '0', `complete` float NOT NULL DEFAULT '0', `status` enum('','NEEDS-ACTION','IN-PROCESS','COMPLETED','CANCELLED') NOT NULL DEFAULT '', `alarms` varchar(255) DEFAULT NULL, `recurrence` varchar(255) DEFAULT NULL, `organizer` varchar(255) DEFAULT NULL, `attendees` text, `notify` datetime DEFAULT NULL, PRIMARY KEY (`task_id`), KEY `tasklisting` (`tasklist_id`,`del`,`date`), 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 */; REPLACE INTO `system` (`name`, `value`) VALUES ('tasklist-database-version', '2014051900'); diff --git a/plugins/tasklist/drivers/database/SQL/postgres.initial.sql b/plugins/tasklist/drivers/database/SQL/postgres.initial.sql index e5665c2d..d6b536a6 100644 --- a/plugins/tasklist/drivers/database/SQL/postgres.initial.sql +++ b/plugins/tasklist/drivers/database/SQL/postgres.initial.sql @@ -1,64 +1,63 @@ /** * Roundcube Tasklist plugin database * - * @version @package_version@ * @author Thomas Bruederli * @licence GNU AGPL * @copyright (C) 2014, Kolab Systems AG */ CREATE SEQUENCE tasklists_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; CREATE TABLE tasklists ( tasklist_id integer DEFAULT nextval('tasklists_seq'::regclass) NOT NULL, user_id integer NOT NULL REFERENCES users (user_id) ON UPDATE CASCADE ON DELETE CASCADE, name varchar(255) NOT NULL, color varchar(8) NOT NULL, showalarms smallint NOT NULL DEFAULT 0, PRIMARY KEY (tasklist_id) ); CREATE INDEX tasklists_user_id_idx ON tasklists (user_id, name); CREATE SEQUENCE tasks_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; CREATE TABLE tasks ( task_id integer DEFAULT nextval('tasks_seq'::regclass) NOT NULL, tasklist_id integer NOT NULL REFERENCES tasklists (tasklist_id) ON UPDATE CASCADE ON DELETE CASCADE, parent_id integer DEFAULT NULL, uid varchar(255) NOT NULL, created timestamp without time zone DEFAULT now() NOT NULL, changed timestamp without time zone DEFAULT now() NOT NULL, del smallint NOT NULL DEFAULT '0', title varchar(255) NOT NULL, description text, tags text, date varchar(10) DEFAULT NULL, time varchar(5) DEFAULT NULL, startdate varchar(10) DEFAULT NULL, starttime varchar(5) DEFAULT NULL, flagged smallint NOT NULL DEFAULT 0, complete float NOT NULL DEFAULT 0, status varchar(16) NOT NULL DEFAULT '', alarms varchar(255) DEFAULT NULL, recurrence varchar(255) DEFAULT NULL, organizer varchar(255) DEFAULT NULL, attendees text, notify timestamp without time zone DEFAULT NULL, PRIMARY KEY (task_id) ); CREATE INDEX tasks_tasklisting_idx ON tasks (tasklist_id, del, date); CREATE INDEX tasks_uid_idx ON tasks (uid); INSERT INTO system (name, value) VALUES ('tasklist-database-version', '2014051900');