| | |
| | | -- RoundCube Webmail initial database structure |
| | | -- Roundcube Webmail initial database structure |
| | | |
| | | -- |
| | | -- Sequence "user_ids" |
| | |
| | | mail_host varchar(128) DEFAULT '' NOT NULL, |
| | | alias varchar(128) DEFAULT '' NOT NULL, |
| | | created timestamp with time zone DEFAULT now() NOT NULL, |
| | | last_login timestamp with time zone DEFAULT now() NOT NULL, |
| | | last_login timestamp with time zone DEFAULT NULL, |
| | | "language" varchar(5), |
| | | preferences text DEFAULT ''::text NOT NULL |
| | | preferences text DEFAULT ''::text NOT NULL, |
| | | CONSTRAINT users_username_key UNIQUE (username, mail_host) |
| | | ); |
| | | |
| | | CREATE INDEX users_username_id_idx ON users (username); |
| | | CREATE INDEX users_alias_id_idx ON users (alias); |
| | | |
| | | |
| | |
| | | identity_id integer DEFAULT nextval('identity_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 DEFAULT 0 NOT NULL, |
| | | standard smallint DEFAULT 0 NOT NULL, |
| | | name varchar(128) NOT NULL, |
| | |
| | | CREATE TABLE contacts ( |
| | | contact_id integer DEFAULT nextval('contact_ids'::text) PRIMARY KEY, |
| | | user_id integer NOT NULL |
| | | REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, |
| | | REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, |
| | | changed timestamp with time zone DEFAULT now() NOT NULL, |
| | | del smallint DEFAULT 0 NOT NULL, |
| | | name varchar(128) DEFAULT '' NOT NULL, |
| | | email varchar(128) DEFAULT '' NOT NULL, |
| | | email varchar(255) DEFAULT '' NOT NULL, |
| | | firstname varchar(128) DEFAULT '' NOT NULL, |
| | | surname varchar(128) DEFAULT '' NOT NULL, |
| | | vcard text |
| | | vcard text, |
| | | words text |
| | | ); |
| | | |
| | | CREATE INDEX contacts_user_id_idx ON contacts (user_id, email); |
| | |
| | | -- Table "contactgroupmembers" |
| | | -- Name: contactgroupmembers; Type: TABLE; Schema: public; Owner: postgres |
| | | -- |
| | | |
| | | |
| | | CREATE TABLE contactgroupmembers ( |
| | | contactgroup_id integer NOT NULL |
| | | REFERENCES contactgroups(contactgroup_id) ON DELETE CASCADE ON UPDATE CASCADE, |
| | |
| | | created timestamp with time zone DEFAULT now() NOT NULL, |
| | | PRIMARY KEY (contactgroup_id, contact_id) |
| | | ); |
| | | |
| | | CREATE INDEX contactgroupmembers_contact_id_idx ON contactgroupmembers (contact_id); |
| | | |
| | | -- |
| | | -- Sequence "cache_ids" |
| | |
| | | date timestamp with time zone NOT NULL, |
| | | size integer DEFAULT 0 NOT NULL, |
| | | headers text NOT NULL, |
| | | structure text |
| | | structure text, |
| | | CONSTRAINT messages_user_id_key UNIQUE (user_id, cache_key, uid) |
| | | ); |
| | | |
| | | ALTER TABLE messages ADD UNIQUE (user_id, cache_key, uid); |
| | | CREATE INDEX messages_index_idx ON messages (user_id, cache_key, idx); |
| | | CREATE INDEX messages_created_idx ON messages (created); |