From d744542c2ce7223e57918e7cb4892c917bec5d3c Mon Sep 17 00:00:00 2001
From: alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>
Date: Sat, 27 Mar 2010 07:40:43 +0000
Subject: - contactgroups DDL for postgres

git-svn-id: https://svn.roundcube.net/trunk@3431 208e9e7b-5314-0410-a742-e7e81cd9613c
---
 roundcubemail/SQL/postgres.update.sql | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

(limited to 'roundcubemail/SQL/postgres.update.sql')

diff --git a/roundcubemail/SQL/postgres.update.sql b/roundcubemail/SQL/postgres.update.sql
index 0b926d5e1..ec7ce9b62 100644
--- a/roundcubemail/SQL/postgres.update.sql
+++ b/roundcubemail/SQL/postgres.update.sql
@@ -48,3 +48,29 @@ CREATE INDEX contacts_user_id_idx ON contacts (user_id, email);
 
 DROP INDEX identities_user_id_idx;
 CREATE INDEX identities_user_id_idx ON identities (user_id, del);
+
+CREATE SEQUENCE contactgroups_ids
+    INCREMENT BY 1
+    NO MAXVALUE
+    NO MINVALUE
+    CACHE 1;
+		
+CREATE TABLE contactgroups (
+    contactgroup_id integer DEFAULT nextval('contactgroups_ids'::text) PRIMARY KEY,
+    user_id 	integer		NOT NULL
+        REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    changed 	timestamp with time zone DEFAULT now() NOT NULL,
+    del 	smallint 	NOT NULL DEFAULT 0,
+    name 	varchar(128) 	NOT NULL DEFAULT ''
+);
+
+CREATE INDEX contactgroups_user_id_idx ON contactgroups (user_id, del);
+
+CREATE TABLE contactgroupmembers (
+    contactgroup_id 	integer NOT NULL
+	REFERENCES contactgroups(contactgroup_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    contact_id 		integer NOT NULL
+	REFERENCES contacts(contact_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    created timestamp with time zone DEFAULT now() NOT NULL,
+    PRIMARY KEY (contactgroup_id, contact_id)
+);
-- 
cgit v1.2.3

