]> git.donarmstrong.com Git - roundcube.git/blob - SQL/mysql5.initial.sql
881344b985eecbace7d878b77194ea5c3a9e21fb
[roundcube.git] / SQL / mysql5.initial.sql
1 -- RoundCube Webmail initial database structure
2 -- Version 0.1
3
4 -- --------------------------------------------------------
5
6 SET FOREIGN_KEY_CHECKS=0;
7
8
9 -- Table structure for table `session`
10
11 CREATE TABLE `session` (
12  `sess_id` varchar(40) NOT NULL,
13  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
14  `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
15  `ip` varchar(40) NOT NULL,
16  `vars` text NOT NULL,
17  PRIMARY KEY(`sess_id`)
18 ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
19
20
21 -- Table structure for table `users`
22
23 CREATE TABLE `users` (
24  `user_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
25  `username` varchar(128) NOT NULL,
26  `mail_host` varchar(128) NOT NULL,
27  `alias` varchar(128) NOT NULL,
28  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
29  `last_login` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
30  `language` varchar(5) NOT NULL DEFAULT 'en',
31  `preferences` text,
32  PRIMARY KEY(`user_id`),
33  INDEX `username_index` (`username`),
34  INDEX `alias_index` (`alias`)
35 ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
36
37
38 -- Table structure for table `messages`
39
40 CREATE TABLE `messages` (
41  `message_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
42  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
43  `del` tinyint(1) NOT NULL DEFAULT '0',
44  `cache_key` varchar(128) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
45  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
46  `idx` int(11) UNSIGNED NOT NULL DEFAULT '0',
47  `uid` int(11) UNSIGNED NOT NULL DEFAULT '0',
48  `subject` varchar(255) NOT NULL,
49  `from` varchar(255) NOT NULL,
50  `to` varchar(255) NOT NULL,
51  `cc` varchar(255) NOT NULL,
52  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
53  `size` int(11) UNSIGNED NOT NULL DEFAULT '0',
54  `headers` text NOT NULL,
55  `structure` text,
56  PRIMARY KEY(`message_id`),
57  UNIQUE `uniqueness` (`user_id`, `cache_key`, `uid`),
58  CONSTRAINT `user_id_fk_messages` FOREIGN KEY (`user_id`)
59    REFERENCES `users`(`user_id`)
60      ON DELETE CASCADE
61      ON UPDATE CASCADE
62 ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
63
64
65 -- Table structure for table `cache`
66
67 CREATE TABLE `cache` (
68  `cache_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
69  `session_id` varchar(40) CHARACTER SET ascii COLLATE ascii_general_ci,
70  `cache_key` varchar(128) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
71  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
72  `data` longtext NOT NULL,
73  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
74  PRIMARY KEY(`cache_id`),
75  INDEX `user_cache_index` (`user_id`,`cache_key`),
76  CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
77    REFERENCES `users`(`user_id`)
78      ON DELETE CASCADE
79      ON UPDATE CASCADE
80 ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
81
82
83 -- Table structure for table `contacts`
84
85 CREATE TABLE `contacts` (
86  `contact_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
87  `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
88  `del` tinyint(1) NOT NULL DEFAULT '0',
89  `name` varchar(128) NOT NULL,
90  `email` varchar(128) NOT NULL,
91  `firstname` varchar(128) NOT NULL,
92  `surname` varchar(128) NOT NULL,
93  `vcard` text NULL,
94  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
95  PRIMARY KEY(`contact_id`),
96  CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
97    REFERENCES `users`(`user_id`)
98      ON DELETE CASCADE
99      ON UPDATE CASCADE
100 ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
101
102
103 -- Table structure for table `identities`
104
105 CREATE TABLE `identities` (
106  `identity_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
107  `del` tinyint(1) NOT NULL DEFAULT '0',
108  `standard` tinyint(1) NOT NULL DEFAULT '0',
109  `name` varchar(128) NOT NULL,
110  `organization` varchar(128) NOT NULL,
111  `email` varchar(128) NOT NULL,
112  `reply-to` varchar(128) NOT NULL,
113  `bcc` varchar(128) NOT NULL,
114  `signature` text NOT NULL,
115  `html_signature` tinyint(1) NOT NULL DEFAULT '0',
116  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
117  PRIMARY KEY(`identity_id`),
118  CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`)
119    REFERENCES `users`(`user_id`)
120      ON DELETE CASCADE
121      ON UPDATE CASCADE
122 ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
123
124
125 SET FOREIGN_KEY_CHECKS=1;