summaryrefslogtreecommitdiff
path: root/webmail/plugins/carddav/SQL
diff options
context:
space:
mode:
Diffstat (limited to 'webmail/plugins/carddav/SQL')
-rw-r--r--webmail/plugins/carddav/SQL/mysql.sql35
-rw-r--r--webmail/plugins/carddav/SQL/mysql.update.sql17
-rw-r--r--webmail/plugins/carddav/SQL/postgresql.sql28
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