diff options
Diffstat (limited to 'webmail/plugins/carddav/SQL')
| -rw-r--r-- | webmail/plugins/carddav/SQL/mysql.sql | 35 | ||||
| -rw-r--r-- | webmail/plugins/carddav/SQL/mysql.update.sql | 17 | ||||
| -rw-r--r-- | webmail/plugins/carddav/SQL/postgresql.sql | 28 |
3 files changed, 80 insertions, 0 deletions
diff --git a/webmail/plugins/carddav/SQL/mysql.sql b/webmail/plugins/carddav/SQL/mysql.sql new file mode 100644 index 0000000..d0882d8 --- /dev/null +++ b/webmail/plugins/carddav/SQL/mysql.sql @@ -0,0 +1,35 @@ +CREATE TABLE IF NOT EXISTS `carddav_contacts` (
+ `carddav_contact_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `carddav_server_id` int(10) unsigned NOT NULL,
+ `user_id` int(10) unsigned NOT NULL,
+ `etag` varchar(64) NOT NULL,
+ `last_modified` varchar(128) NOT NULL,
+ `vcard_id` varchar(64) NOT NULL,
+ `vcard` longtext NOT NULL,
+ `words` text,
+ `firstname` varchar(128) DEFAULT NULL,
+ `surname` varchar(128) DEFAULT NULL,
+ `name` varchar(255) DEFAULT NULL,
+ `email` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`carddav_contact_id`),
+ UNIQUE KEY `carddav_server_id` (`carddav_server_id`,`user_id`,`vcard_id`),
+ KEY `user_id` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+CREATE TABLE IF NOT EXISTS `carddav_server` (
+ `carddav_server_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `user_id` int(10) unsigned NOT NULL,
+ `url` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `username` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
+ `password` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
+ `label` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
+ `read_only` tinyint(1) NOT NULL,
+ PRIMARY KEY (`carddav_server_id`),
+ KEY `user_id` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
+
+ALTER TABLE `carddav_contacts`
+ ADD CONSTRAINT `carddav_contacts_ibfk_1` FOREIGN KEY (`carddav_server_id`) REFERENCES `carddav_server` (`carddav_server_id`) ON DELETE CASCADE;
+
+ALTER TABLE `carddav_server`
+ ADD CONSTRAINT `carddav_server_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE;
\ No newline at end of file diff --git a/webmail/plugins/carddav/SQL/mysql.update.sql b/webmail/plugins/carddav/SQL/mysql.update.sql new file mode 100644 index 0000000..0a3a05d --- /dev/null +++ b/webmail/plugins/carddav/SQL/mysql.update.sql @@ -0,0 +1,17 @@ +// updates from version 0.2.3
+ALTER TABLE `carddav_contacts` ADD `last_modified` int(10) unsigned NOT NULL AFTER `etag` ;
+
+// updates from version 0.2.4
+ALTER TABLE `carddav_contacts` CHANGE `last_modified` `last_modified` VARCHAR(128) NOT NULL ;
+
+// updates from version 0.2.5
+ALTER TABLE `carddav_contacts` CHANGE `name` `name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
+CHANGE `email` `email` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ;
+
+// updates from version 0.3
+ALTER TABLE `carddav_contacts` ADD `words` TEXT NULL DEFAULT NULL AFTER `vcard` ,
+ADD `firstname` VARCHAR( 128 ) NULL DEFAULT NULL AFTER `words` ,
+ADD `surname` VARCHAR( 128 ) NULL DEFAULT NULL AFTER `firstname` ;
+
+// updates from version 0.5
+ALTER TABLE `carddav_server` ADD `read_only` tinyint(1) NOT NULL AFTER `label`;
\ No newline at end of file diff --git a/webmail/plugins/carddav/SQL/postgresql.sql b/webmail/plugins/carddav/SQL/postgresql.sql new file mode 100644 index 0000000..75c79a7 --- /dev/null +++ b/webmail/plugins/carddav/SQL/postgresql.sql @@ -0,0 +1,28 @@ +CREATE TABLE IF NOT EXISTS "carddav_server" ( + "carddav_server_id" serial, + "user_id" int NOT NULL REFERENCES "users" ON DELETE CASCADE, + "url" varchar(255) NOT NULL, + "username" varchar(128) NOT NULL, + "password" varchar(128) NOT NULL, + "label" varchar(128) NOT NULL, + "read_only" int NOT NULL, + PRIMARY KEY ("carddav_server_id") +); + +CREATE TABLE IF NOT EXISTS "carddav_contacts" ( + "carddav_contact_id" serial, + "carddav_server_id" int REFERENCES "carddav_server" ON DELETE CASCADE, + "user_id" int, + "etag" varchar(64) NOT NULL, + "last_modified" varchar(128) NOT NULL, + "vcard_id" varchar(64), + "vcard" text NOT NULL, + "words" text, + "firstname" varchar(128) DEFAULT NULL, + "surname" varchar(128) DEFAULT NULL, + "name" varchar(255) DEFAULT NULL, + "email" varchar(255) DEFAULT NULL, + PRIMARY KEY ("carddav_server_id","user_id","vcard_id") +); + +CREATE INDEX "user_id" ON "carddav_contacts" ("user_id");
\ No newline at end of file |
