summaryrefslogtreecommitdiff
path: root/webmail/plugins/carddav/SQL/postgresql.sql
diff options
context:
space:
mode:
Diffstat (limited to 'webmail/plugins/carddav/SQL/postgresql.sql')
-rw-r--r--webmail/plugins/carddav/SQL/postgresql.sql28
1 files changed, 28 insertions, 0 deletions
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