From f8e48df71540b268ceac058d32b8ee848fc2ab6b Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Tue, 06 Sep 2011 12:35:14 -0400 Subject: [PATCH] - Merge devel-saved_search branch (Addressbook Saved Searches) --- SQL/sqlite.initial.sql | 68 ++++++++++++++++++++++++++++++--- 1 files changed, 61 insertions(+), 7 deletions(-) diff --git a/SQL/sqlite.initial.sql b/SQL/sqlite.initial.sql index cccad7a..46ee530 100644 --- a/SQL/sqlite.initial.sql +++ b/SQL/sqlite.initial.sql @@ -1,4 +1,4 @@ --- RoundCube Webmail initial database structure +-- Roundcube Webmail initial database structure -- -- Table structure for table `cache` @@ -19,7 +19,7 @@ -- -------------------------------------------------------- -- --- Table structure for table contacts +-- Table structure for table contacts and related -- CREATE TABLE contacts ( @@ -28,13 +28,36 @@ changed datetime NOT NULL default '0000-00-00 00:00:00', del tinyint NOT NULL default '0', name varchar(128) NOT NULL default '', - email varchar(128) NOT NULL default '', + email varchar(255) NOT NULL default '', firstname varchar(128) NOT NULL default '', surname varchar(128) NOT NULL default '', - vcard text NOT NULL default '' + vcard text NOT NULL default '', + words text NOT NULL default '' ); CREATE INDEX ix_contacts_user_id ON contacts(user_id, email); + + +CREATE TABLE contactgroups ( + contactgroup_id integer NOT NULL PRIMARY KEY, + user_id integer NOT NULL default '0', + changed datetime NOT NULL default '0000-00-00 00:00:00', + del tinyint NOT NULL default '0', + name varchar(128) NOT NULL default '' +); + +CREATE INDEX ix_contactgroups_user_id ON contactgroups(user_id, del); + + +CREATE TABLE contactgroupmembers ( + contactgroup_id integer NOT NULL, + contact_id integer NOT NULL default '0', + created datetime NOT NULL default '0000-00-00 00:00:00', + PRIMARY KEY (contactgroup_id, contact_id) +); + +CREATE INDEX ix_contactgroupmembers_contact_id ON contactgroupmembers (contact_id); + -- -------------------------------------------------------- @@ -45,6 +68,7 @@ CREATE TABLE identities ( identity_id integer NOT NULL PRIMARY KEY, user_id integer NOT NULL default '0', + changed datetime NOT NULL default '0000-00-00 00:00:00', del tinyint NOT NULL default '0', standard tinyint NOT NULL default '0', name varchar(128) NOT NULL default '', @@ -56,7 +80,7 @@ html_signature tinyint NOT NULL default '0' ); -CREATE INDEX ix_identities_user_id ON identities(user_id); +CREATE INDEX ix_identities_user_id ON identities(user_id, del); -- -------------------------------------------------------- @@ -71,12 +95,12 @@ mail_host varchar(128) NOT NULL default '', alias varchar(128) NOT NULL default '', created datetime NOT NULL default '0000-00-00 00:00:00', - last_login datetime NOT NULL default '0000-00-00 00:00:00', + last_login datetime DEFAULT NULL, language varchar(5), preferences text NOT NULL default '' ); -CREATE INDEX ix_users_username ON users(username); +CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); CREATE INDEX ix_users_alias ON users(alias); -- -------------------------------------------------------- @@ -122,3 +146,33 @@ CREATE UNIQUE INDEX ix_messages_user_cache_uid ON messages (user_id,cache_key,uid); CREATE INDEX ix_messages_index ON messages (user_id,cache_key,idx); CREATE INDEX ix_messages_created ON messages (created); + +-- -------------------------------------------------------- + +-- +-- Table structure for table dictionary +-- + +CREATE TABLE dictionary ( + user_id integer DEFAULT NULL, + "language" varchar(5) NOT NULL, + data text NOT NULL +); + +CREATE UNIQUE INDEX ix_dictionary_user_language ON dictionary (user_id, "language"); + +-- -------------------------------------------------------- + +-- +-- Table structure for table searches +-- + +CREATE TABLE searches ( + search_id integer NOT NULL PRIMARY KEY, + user_id integer NOT NULL DEFAULT '0', + "type" smallint NOT NULL DEFAULT '0', + name varchar(128) NOT NULL, + data text NOT NULL +); + +CREATE UNIQUE INDEX ix_searches_user_type_name (user_id, type, name); -- Gitblit v1.9.1