Aleksander Machniak
2012-07-30 71ee565dfc5b40bee5ed8f66d75b4ff9f78a3976
commit | author | age
e019f2 1 -- Roundcube Webmail initial database structure
aade7b 2
T 3
2bedfa 4 /*!40014  SET FOREIGN_KEY_CHECKS=0 */;
aade7b 5
T 6 -- Table structure for table `session`
7
8 CREATE TABLE `session` (
b8ae0e 9  `sess_id` varchar(128) NOT NULL,
37974e 10  `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
A 11  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
84d06e 12  `ip` varchar(40) NOT NULL,
b2b8b1 13  `vars` mediumtext NOT NULL,
3e48d2 14  PRIMARY KEY(`sess_id`),
A 15  INDEX `changed_index` (`changed`)
2bedfa 16 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
aade7b 17
T 18
19 -- Table structure for table `users`
20
21 CREATE TABLE `users` (
22  `user_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
d5ae97 23  `username` varchar(128) BINARY NOT NULL,
aade7b 24  `mail_host` varchar(128) NOT NULL,
d5ae97 25  `alias` varchar(128) BINARY NOT NULL,
37974e 26  `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
e2402e 27  `last_login` datetime DEFAULT NULL,
debdda 28  `language` varchar(5),
112bff 29  `preferences` text,
6cb778 30  PRIMARY KEY(`user_id`),
ace511 31  UNIQUE `username` (`username`, `mail_host`),
6cb778 32  INDEX `alias_index` (`alias`)
2bedfa 33 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
aade7b 34
T 35
36 -- Table structure for table `cache`
37
38 CREATE TABLE `cache` (
39  `cache_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
2bedfa 40  `cache_key` varchar(128) /*!40101 CHARACTER SET ascii COLLATE ascii_general_ci */ NOT NULL ,
37974e 41  `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
aade7b 42  `data` longtext NOT NULL,
48be8f 43  `user_id` int(10) UNSIGNED NOT NULL,
aade7b 44  PRIMARY KEY(`cache_id`),
94fe9c 45  CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
A 46    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
e4d9f0 47  INDEX `created_index` (`created`),
8248e4 48  INDEX `user_cache_index` (`user_id`,`cache_key`)
2bedfa 49 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
aade7b 50
T 51
80152b 52 -- Table structure for table `cache_index`
A 53
54 CREATE TABLE `cache_index` (
48be8f 55  `user_id` int(10) UNSIGNED NOT NULL,
80152b 56  `mailbox` varchar(255) BINARY NOT NULL,
A 57  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
609d39 58  `valid` tinyint(1) NOT NULL DEFAULT '0',
80152b 59  `data` longtext NOT NULL,
A 60  CONSTRAINT `user_id_fk_cache_index` FOREIGN KEY (`user_id`)
61    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
62  INDEX `changed_index` (`changed`),
63  PRIMARY KEY (`user_id`, `mailbox`)
64 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
65
66
67 -- Table structure for table `cache_thread`
68
69 CREATE TABLE `cache_thread` (
48be8f 70  `user_id` int(10) UNSIGNED NOT NULL,
80152b 71  `mailbox` varchar(255) BINARY NOT NULL,
A 72  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
73  `data` longtext NOT NULL,
74  CONSTRAINT `user_id_fk_cache_thread` FOREIGN KEY (`user_id`)
75    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
76  INDEX `changed_index` (`changed`),
77  PRIMARY KEY (`user_id`, `mailbox`)
78 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
79
80
81 -- Table structure for table `cache_messages`
82
83 CREATE TABLE `cache_messages` (
48be8f 84  `user_id` int(10) UNSIGNED NOT NULL,
80152b 85  `mailbox` varchar(255) BINARY NOT NULL,
A 86  `uid` int(11) UNSIGNED NOT NULL DEFAULT '0',
87  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
88  `data` longtext NOT NULL,
609d39 89  `flags` int(11) NOT NULL DEFAULT '0',
80152b 90  CONSTRAINT `user_id_fk_cache_messages` FOREIGN KEY (`user_id`)
A 91    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
92  INDEX `changed_index` (`changed`),
93  PRIMARY KEY (`user_id`, `mailbox`, `uid`)
94 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
95
96
aade7b 97 -- Table structure for table `contacts`
T 98
99 CREATE TABLE `contacts` (
100  `contact_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
37974e 101  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
aade7b 102  `del` tinyint(1) NOT NULL DEFAULT '0',
951c07 103  `name` varchar(128) NOT NULL DEFAULT '',
3d4a48 104  `email` text NOT NULL,
951c07 105  `firstname` varchar(128) NOT NULL DEFAULT '',
A 106  `surname` varchar(128) NOT NULL DEFAULT '',
09b0e3 107  `vcard` longtext NULL,
3e2637 108  `words` text NULL,
48be8f 109  `user_id` int(10) UNSIGNED NOT NULL,
aade7b 110  PRIMARY KEY(`contact_id`),
94fe9c 111  CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
A 112    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
48be8f 113  INDEX `user_contacts_index` (`user_id`,`del`)
2bedfa 114 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
aade7b 115
a61bbb 116 -- Table structure for table `contactgroups`
T 117
118 CREATE TABLE `contactgroups` (
119   `contactgroup_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
48be8f 120   `user_id` int(10) UNSIGNED NOT NULL,
192413 121   `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
a61bbb 122   `del` tinyint(1) NOT NULL DEFAULT '0',
T 123   `name` varchar(128) NOT NULL DEFAULT '',
124   PRIMARY KEY(`contactgroup_id`),
125   CONSTRAINT `user_id_fk_contactgroups` FOREIGN KEY (`user_id`)
126     REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
127   INDEX `contactgroups_user_index` (`user_id`,`del`)
128 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
129
130 CREATE TABLE `contactgroupmembers` (
131   `contactgroup_id` int(10) UNSIGNED NOT NULL,
48be8f 132   `contact_id` int(10) UNSIGNED NOT NULL,
192413 133   `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
a61bbb 134   PRIMARY KEY (`contactgroup_id`, `contact_id`),
T 135   CONSTRAINT `contactgroup_id_fk_contactgroups` FOREIGN KEY (`contactgroup_id`)
136     REFERENCES `contactgroups`(`contactgroup_id`) ON DELETE CASCADE ON UPDATE CASCADE,
137   CONSTRAINT `contact_id_fk_contacts` FOREIGN KEY (`contact_id`)
3a5476 138     REFERENCES `contacts`(`contact_id`) ON DELETE CASCADE ON UPDATE CASCADE,
A 139   INDEX `contactgroupmembers_contact_index` (`contact_id`)
a61bbb 140 ) /*!40000 ENGINE=INNODB */;
T 141
aade7b 142
T 143 -- Table structure for table `identities`
144
145 CREATE TABLE `identities` (
146  `identity_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
48be8f 147  `user_id` int(10) UNSIGNED NOT NULL,
a35062 148  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
aade7b 149  `del` tinyint(1) NOT NULL DEFAULT '0',
T 150  `standard` tinyint(1) NOT NULL DEFAULT '0',
151  `name` varchar(128) NOT NULL,
d7f3d7 152  `organization` varchar(128) NOT NULL DEFAULT '',
aade7b 153  `email` varchar(128) NOT NULL,
d7f3d7 154  `reply-to` varchar(128) NOT NULL DEFAULT '',
A 155  `bcc` varchar(128) NOT NULL DEFAULT '',
f18911 156  `signature` text,
a0109c 157  `html_signature` tinyint(1) NOT NULL DEFAULT '0',
94fe9c 158  PRIMARY KEY(`identity_id`),
A 159  CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`)
160    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
161  INDEX `user_identities_index` (`user_id`, `del`)
2bedfa 162 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
8248e4 163
aade7b 164
66df08 165 -- Table structure for table `dictionary`
A 166
167 CREATE TABLE `dictionary` (
168   `user_id` int(10) UNSIGNED DEFAULT NULL,
169   `language` varchar(5) NOT NULL,
170   `data` longtext NOT NULL,
171   CONSTRAINT `user_id_fk_dictionary` FOREIGN KEY (`user_id`)
172     REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
173   UNIQUE `uniqueness` (`user_id`, `language`)
174 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
175
f8e48d 176
A 177 -- Table structure for table `searches`
178
179 CREATE TABLE `searches` (
180  `search_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
48be8f 181  `user_id` int(10) UNSIGNED NOT NULL,
f8e48d 182  `type` int(3) NOT NULL DEFAULT '0',
A 183  `name` varchar(128) NOT NULL,
184  `data` text,
185  PRIMARY KEY(`search_id`),
186  CONSTRAINT `user_id_fk_searches` FOREIGN KEY (`user_id`)
187    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
188  UNIQUE `uniqueness` (`user_id`, `type`, `name`)
189 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
190
191
2bedfa 192 /*!40014 SET FOREIGN_KEY_CHECKS=1 */;