diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-03-27 07:40:43 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-03-27 07:40:43 +0000 |
| commit | d744542c2ce7223e57918e7cb4892c917bec5d3c (patch) | |
| tree | f618be8a156accea15bcb3ec280b2d1528967bdc /roundcubemail/SQL/postgres.update.sql | |
| parent | 66dd8ed403b7199e41c224807995742335e8b49a (diff) | |
- contactgroups DDL for postgres
git-svn-id: https://svn.roundcube.net/trunk@3431 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/SQL/postgres.update.sql')
| -rw-r--r-- | roundcubemail/SQL/postgres.update.sql | 26 |
1 files changed, 26 insertions, 0 deletions
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) +); |
