| | |
| | | -- RoundCube Webmail initial database structure |
| | | -- Version 0.1 |
| | | -- |
| | | |
| | | -- -------------------------------------------------------- |
| | | -- Roundcube Webmail initial database structure |
| | | |
| | | -- |
| | | -- Table structure for table `cache` |
| | | -- |
| | | |
| | | CREATE TABLE cache ( |
| | | cache_id integer NOT NULL PRIMARY KEY, |
| | | user_id integer NOT NULL default 0, |
| | | cache_key varchar(128) NOT NULL default '', |
| | | created datetime NOT NULL default '0000-00-00 00:00:00', |
| | | data longtext NOT NULL |
| | | ); |
| | | |
| | | CREATE INDEX ix_cache_user_cache_key ON cache(user_id, cache_key); |
| | | CREATE INDEX ix_cache_created ON cache(created); |
| | | |
| | | |
| | | -- -------------------------------------------------------- |
| | | |
| | | -- |
| | | -- Table structure for table contacts |
| | | -- Table structure for table contacts and related |
| | | -- |
| | | |
| | | CREATE TABLE contacts ( |
| | | contact_id integer NOT NULL PRIMARY KEY, |
| | | user_id integer NOT NULL default '0', |
| | | user_id integer NOT NULL, |
| | | 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 text 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); |
| | | CREATE INDEX ix_contacts_user_id ON contacts(user_id, del); |
| | | |
| | | -- -------------------------------------------------------- |
| | | |
| | | 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); |
| | | |
| | | -- |
| | | -- Table structure for table identities |
| | |
| | | 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 '', |
| | |
| | | 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); |
| | | CREATE INDEX ix_identities_email ON identities(email, del); |
| | | |
| | | -- |
| | | -- Table structure for table users |
| | |
| | | user_id integer NOT NULL PRIMARY KEY, |
| | | username varchar(128) NOT NULL default '', |
| | | 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', |
| | | language varchar(5) NOT NULL default 'en', |
| | | last_login datetime DEFAULT NULL, |
| | | language varchar(5), |
| | | preferences text NOT NULL default '' |
| | | ); |
| | | |
| | | CREATE INDEX ix_users_username ON users(username); |
| | | CREATE INDEX ix_users_alias ON users(alias); |
| | | |
| | | -- -------------------------------------------------------- |
| | | CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); |
| | | |
| | | -- |
| | | -- Table structure for table session |
| | | -- |
| | | |
| | | CREATE TABLE session ( |
| | | sess_id varchar(40) NOT NULL PRIMARY KEY, |
| | | sess_id varchar(128) NOT NULL PRIMARY KEY, |
| | | created datetime NOT NULL default '0000-00-00 00:00:00', |
| | | changed datetime NOT NULL default '0000-00-00 00:00:00', |
| | | ip varchar(40) NOT NULL default '', |
| | |
| | | |
| | | CREATE INDEX ix_session_changed ON session (changed); |
| | | |
| | | -- -------------------------------------------------------- |
| | | -- |
| | | -- Table structure for table dictionary |
| | | -- |
| | | |
| | | -- |
| | | -- Table structure for table messages |
| | | -- |
| | | |
| | | CREATE TABLE messages ( |
| | | message_id integer NOT NULL PRIMARY KEY, |
| | | user_id integer NOT NULL default '0', |
| | | del tinyint NOT NULL default '0', |
| | | cache_key varchar(128) NOT NULL default '', |
| | | created datetime NOT NULL default '0000-00-00 00:00:00', |
| | | idx integer NOT NULL default '0', |
| | | uid integer NOT NULL default '0', |
| | | subject varchar(255) NOT NULL default '', |
| | | "from" varchar(255) NOT NULL default '', |
| | | "to" varchar(255) NOT NULL default '', |
| | | "cc" varchar(255) NOT NULL default '', |
| | | "date" datetime NOT NULL default '0000-00-00 00:00:00', |
| | | size integer NOT NULL default '0', |
| | | headers text NOT NULL, |
| | | structure text |
| | | CREATE TABLE dictionary ( |
| | | user_id integer DEFAULT NULL, |
| | | "language" varchar(5) NOT NULL, |
| | | data text NOT NULL |
| | | ); |
| | | |
| | | CREATE INDEX ix_messages_user_cache_uid ON messages(user_id,cache_key,uid); |
| | | CREATE INDEX ix_messages_created ON messages (created); |
| | | 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 ON searches (user_id, type, name); |
| | | |
| | | -- |
| | | -- Table structure for table cache |
| | | -- |
| | | |
| | | CREATE TABLE cache ( |
| | | user_id integer NOT NULL default 0, |
| | | cache_key varchar(128) NOT NULL default '', |
| | | created datetime NOT NULL default '0000-00-00 00:00:00', |
| | | expires datetime DEFAULT NULL, |
| | | data text NOT NULL |
| | | ); |
| | | |
| | | CREATE INDEX ix_cache_user_cache_key ON cache(user_id, cache_key); |
| | | CREATE INDEX ix_cache_expires ON cache(expires); |
| | | |
| | | -- |
| | | -- Table structure for table cache_shared |
| | | -- |
| | | |
| | | CREATE TABLE cache_shared ( |
| | | cache_key varchar(255) NOT NULL, |
| | | created datetime NOT NULL default '0000-00-00 00:00:00', |
| | | expires datetime DEFAULT NULL, |
| | | data text NOT NULL |
| | | ); |
| | | |
| | | CREATE INDEX ix_cache_shared_cache_key ON cache_shared(cache_key); |
| | | CREATE INDEX ix_cache_shared_expires ON cache_shared(expires); |
| | | |
| | | -- |
| | | -- Table structure for table cache_index |
| | | -- |
| | | |
| | | CREATE TABLE cache_index ( |
| | | user_id integer NOT NULL, |
| | | mailbox varchar(255) NOT NULL, |
| | | expires datetime DEFAULT NULL, |
| | | valid smallint NOT NULL DEFAULT '0', |
| | | data text NOT NULL, |
| | | PRIMARY KEY (user_id, mailbox) |
| | | ); |
| | | |
| | | CREATE INDEX ix_cache_index_expires ON cache_index (expires); |
| | | |
| | | -- |
| | | -- Table structure for table cache_thread |
| | | -- |
| | | |
| | | CREATE TABLE cache_thread ( |
| | | user_id integer NOT NULL, |
| | | mailbox varchar(255) NOT NULL, |
| | | expires datetime DEFAULT NULL, |
| | | data text NOT NULL, |
| | | PRIMARY KEY (user_id, mailbox) |
| | | ); |
| | | |
| | | CREATE INDEX ix_cache_thread_expires ON cache_thread (expires); |
| | | |
| | | -- |
| | | -- Table structure for table cache_messages |
| | | -- |
| | | |
| | | CREATE TABLE cache_messages ( |
| | | user_id integer NOT NULL, |
| | | mailbox varchar(255) NOT NULL, |
| | | uid integer NOT NULL, |
| | | expires datetime DEFAULT NULL, |
| | | data text NOT NULL, |
| | | flags integer NOT NULL DEFAULT '0', |
| | | PRIMARY KEY (user_id, mailbox, uid) |
| | | ); |
| | | |
| | | CREATE INDEX ix_cache_messages_expires ON cache_messages (expires); |
| | | |
| | | -- |
| | | -- Table structure for table system |
| | | -- |
| | | |
| | | CREATE TABLE system ( |
| | | name varchar(64) NOT NULL PRIMARY KEY, |
| | | value text NOT NULL |
| | | ); |
| | | |
| | | INSERT INTO system (name, value) VALUES ('roundcube-version', '2014042900'); |