commit | author | age
|
e019f2
|
1 |
-- Roundcube Webmail update script for MySQL databases |
161bb9
|
2 |
|
A |
3 |
-- Updates from version 0.1-stable |
79fe17
|
4 |
|
29451c
|
5 |
TRUNCATE TABLE `messages`; |
T |
6 |
|
f7bfec
|
7 |
ALTER TABLE `messages` |
ac26b9
|
8 |
DROP INDEX `idx`, |
T |
9 |
DROP INDEX `uid`; |
|
10 |
|
|
11 |
ALTER TABLE `cache` |
f7bfec
|
12 |
DROP INDEX `cache_key`, |
ac26b9
|
13 |
DROP INDEX `session_id`, |
T |
14 |
ADD INDEX `user_cache_index` (`user_id`,`cache_key`); |
6cb778
|
15 |
|
A |
16 |
ALTER TABLE `users` |
f5e8d2
|
17 |
ADD INDEX `username_index` (`username`), |
6cb778
|
18 |
ADD INDEX `alias_index` (`alias`); |
d7f3d7
|
19 |
|
A |
20 |
-- Updates from version 0.1.1 |
|
21 |
|
|
22 |
ALTER TABLE `identities` |
f18911
|
23 |
MODIFY `signature` text, |
d7f3d7
|
24 |
MODIFY `bcc` varchar(128) NOT NULL DEFAULT '', |
A |
25 |
MODIFY `reply-to` varchar(128) NOT NULL DEFAULT '', |
|
26 |
MODIFY `organization` varchar(128) NOT NULL DEFAULT '', |
|
27 |
MODIFY `name` varchar(128) NOT NULL, |
|
28 |
MODIFY `email` varchar(128) NOT NULL; |
c98f3b
|
29 |
|
A |
30 |
-- Updates from version 0.2-alpha |
|
31 |
|
|
32 |
ALTER TABLE `messages` |
|
33 |
ADD INDEX `created_index` (`created`); |
be7d3b
|
34 |
|
161bb9
|
35 |
-- Updates from version 0.2-beta (InnoDB required) |
be7d3b
|
36 |
|
A |
37 |
ALTER TABLE `cache` |
dcf780
|
38 |
DROP `session_id`; |
161bb9
|
39 |
|
3e48d2
|
40 |
ALTER TABLE `session` |
A |
41 |
ADD INDEX `changed_index` (`changed`); |
e4d9f0
|
42 |
|
A |
43 |
ALTER TABLE `cache` |
|
44 |
ADD INDEX `created_index` (`created`); |
debdda
|
45 |
|
A |
46 |
ALTER TABLE `users` |
|
47 |
CHANGE `language` `language` varchar(5); |
3d601d
|
48 |
|
161bb9
|
49 |
ALTER TABLE `cache` ENGINE=InnoDB; |
A |
50 |
ALTER TABLE `session` ENGINE=InnoDB; |
|
51 |
ALTER TABLE `messages` ENGINE=InnoDB; |
|
52 |
ALTER TABLE `users` ENGINE=InnoDB; |
|
53 |
ALTER TABLE `contacts` ENGINE=InnoDB; |
|
54 |
ALTER TABLE `identities` ENGINE=InnoDB; |
|
55 |
|
3d601d
|
56 |
-- Updates from version 0.3-stable |
A |
57 |
|
f47e2d
|
58 |
TRUNCATE `messages`; |
A |
59 |
|
3d601d
|
60 |
ALTER TABLE `messages` |
A |
61 |
ADD INDEX `index_index` (`user_id`, `cache_key`, `idx`); |
b2b8b1
|
62 |
|
V |
63 |
ALTER TABLE `session` |
|
64 |
CHANGE `vars` `vars` MEDIUMTEXT NOT NULL; |
23b765
|
65 |
|
A |
66 |
ALTER TABLE `contacts` |
|
67 |
ADD INDEX `user_contacts_index` (`user_id`,`email`); |
8248e4
|
68 |
|
A |
69 |
-- Updates from version 0.3.1 |
fc5529
|
70 |
-- WARNING: Make sure that all tables are using InnoDB engine!!! |
A |
71 |
-- If not, use: ALTER TABLE xxx ENGINE=InnoDB; |
8248e4
|
72 |
|
A |
73 |
/* MySQL bug workaround: http://bugs.mysql.com/bug.php?id=46293 */ |
5cec0c
|
74 |
/*!40014 SET FOREIGN_KEY_CHECKS=0 */; |
8248e4
|
75 |
|
A |
76 |
ALTER TABLE `messages` DROP FOREIGN KEY `user_id_fk_messages`; |
|
77 |
ALTER TABLE `cache` DROP FOREIGN KEY `user_id_fk_cache`; |
|
78 |
ALTER TABLE `contacts` DROP FOREIGN KEY `user_id_fk_contacts`; |
|
79 |
ALTER TABLE `identities` DROP FOREIGN KEY `user_id_fk_identities`; |
|
80 |
|
|
81 |
ALTER TABLE `messages` ADD CONSTRAINT `user_id_fk_messages` FOREIGN KEY (`user_id`) |
1aaeaa
|
82 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; |
8248e4
|
83 |
ALTER TABLE `cache` ADD CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`) |
1aaeaa
|
84 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; |
8248e4
|
85 |
ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`) |
1aaeaa
|
86 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; |
8248e4
|
87 |
ALTER TABLE `identities` ADD CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`) |
1aaeaa
|
88 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; |
8248e4
|
89 |
|
951c07
|
90 |
ALTER TABLE `contacts` ALTER `name` SET DEFAULT ''; |
A |
91 |
ALTER TABLE `contacts` ALTER `firstname` SET DEFAULT ''; |
|
92 |
ALTER TABLE `contacts` ALTER `surname` SET DEFAULT ''; |
|
93 |
|
ac756e
|
94 |
ALTER TABLE `identities` ADD INDEX `user_identities_index` (`user_id`, `del`); |
a35062
|
95 |
ALTER TABLE `identities` ADD `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00' AFTER `user_id`; |
94fe9c
|
96 |
|
a61bbb
|
97 |
CREATE TABLE `contactgroups` ( |
T |
98 |
`contactgroup_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, |
|
99 |
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
192413
|
100 |
`changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
a61bbb
|
101 |
`del` tinyint(1) NOT NULL DEFAULT '0', |
T |
102 |
`name` varchar(128) NOT NULL DEFAULT '', |
|
103 |
PRIMARY KEY(`contactgroup_id`), |
|
104 |
CONSTRAINT `user_id_fk_contactgroups` FOREIGN KEY (`user_id`) |
|
105 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, |
|
106 |
INDEX `contactgroups_user_index` (`user_id`,`del`) |
|
107 |
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; |
|
108 |
|
|
109 |
CREATE TABLE `contactgroupmembers` ( |
|
110 |
`contactgroup_id` int(10) UNSIGNED NOT NULL, |
|
111 |
`contact_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
192413
|
112 |
`created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
a61bbb
|
113 |
PRIMARY KEY (`contactgroup_id`, `contact_id`), |
T |
114 |
CONSTRAINT `contactgroup_id_fk_contactgroups` FOREIGN KEY (`contactgroup_id`) |
|
115 |
REFERENCES `contactgroups`(`contactgroup_id`) ON DELETE CASCADE ON UPDATE CASCADE, |
|
116 |
CONSTRAINT `contact_id_fk_contacts` FOREIGN KEY (`contact_id`) |
|
117 |
REFERENCES `contacts`(`contact_id`) ON DELETE CASCADE ON UPDATE CASCADE |
|
118 |
) /*!40000 ENGINE=INNODB */; |
|
119 |
|
5cec0c
|
120 |
/*!40014 SET FOREIGN_KEY_CHECKS=1 */; |
e2402e
|
121 |
|
A |
122 |
-- Updates from version 0.4-beta |
|
123 |
|
|
124 |
ALTER TABLE `users` CHANGE `last_login` `last_login` datetime DEFAULT NULL; |
|
125 |
UPDATE `users` SET `last_login` = NULL WHERE `last_login` = '1000-01-01 00:00:00'; |
ace511
|
126 |
|
A |
127 |
-- Updates from version 0.4.2 |
|
128 |
|
|
129 |
ALTER TABLE `users` DROP INDEX `username_index`; |
|
130 |
ALTER TABLE `users` ADD UNIQUE `username` (`username`, `mail_host`); |
|
131 |
|
6f0968
|
132 |
ALTER TABLE `contacts` MODIFY `email` varchar(255) NOT NULL; |
A |
133 |
|
cdb8b9
|
134 |
TRUNCATE TABLE `messages`; |
T |
135 |
|
faf10e
|
136 |
-- Updates from version 0.5.1 |
T |
137 |
-- Updates from version 0.5.2 |
|
138 |
-- Updates from version 0.5.3 |
|
139 |
-- Updates from version 0.5.4 |
3e2637
|
140 |
|
T |
141 |
ALTER TABLE `contacts` ADD `words` TEXT NULL AFTER `vcard`; |
09b0e3
|
142 |
ALTER TABLE `contacts` CHANGE `vcard` `vcard` LONGTEXT /*!40101 CHARACTER SET utf8 */ NULL DEFAULT NULL; |
3a5476
|
143 |
ALTER TABLE `contactgroupmembers` ADD INDEX `contactgroupmembers_contact_index` (`contact_id`); |
d08333
|
144 |
|
A |
145 |
TRUNCATE TABLE `messages`; |
|
146 |
TRUNCATE TABLE `cache`; |
66df08
|
147 |
|
502436
|
148 |
-- Updates from version 0.6 |
66df08
|
149 |
|
d2d94a
|
150 |
/*!40014 SET FOREIGN_KEY_CHECKS=0 */; |
A |
151 |
|
d5ae97
|
152 |
ALTER TABLE `users` CHANGE `alias` `alias` varchar(128) BINARY NOT NULL; |
A |
153 |
ALTER TABLE `users` CHANGE `username` `username` varchar(128) BINARY NOT NULL; |
|
154 |
|
66df08
|
155 |
CREATE TABLE `dictionary` ( |
A |
156 |
`user_id` int(10) UNSIGNED DEFAULT NULL, |
|
157 |
`language` varchar(5) NOT NULL, |
|
158 |
`data` longtext NOT NULL, |
|
159 |
CONSTRAINT `user_id_fk_dictionary` FOREIGN KEY (`user_id`) |
|
160 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, |
|
161 |
UNIQUE `uniqueness` (`user_id`, `language`) |
|
162 |
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; |
f8e48d
|
163 |
|
A |
164 |
CREATE TABLE `searches` ( |
|
165 |
`search_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, |
|
166 |
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
|
167 |
`type` int(3) NOT NULL DEFAULT '0', |
|
168 |
`name` varchar(128) NOT NULL, |
|
169 |
`data` text, |
|
170 |
PRIMARY KEY(`search_id`), |
|
171 |
CONSTRAINT `user_id_fk_searches` FOREIGN KEY (`user_id`) |
|
172 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, |
|
173 |
UNIQUE `uniqueness` (`user_id`, `type`, `name`) |
|
174 |
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; |
80152b
|
175 |
|
A |
176 |
DROP TABLE `messages`; |
|
177 |
|
|
178 |
CREATE TABLE `cache_index` ( |
|
179 |
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
|
180 |
`mailbox` varchar(255) BINARY NOT NULL, |
|
181 |
`changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
7b2bf7
|
182 |
`valid` tinyint(1) NOT NULL DEFAULT '0', |
80152b
|
183 |
`data` longtext NOT NULL, |
A |
184 |
CONSTRAINT `user_id_fk_cache_index` FOREIGN KEY (`user_id`) |
|
185 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, |
|
186 |
INDEX `changed_index` (`changed`), |
|
187 |
PRIMARY KEY (`user_id`, `mailbox`) |
|
188 |
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; |
|
189 |
|
|
190 |
CREATE TABLE `cache_thread` ( |
|
191 |
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
|
192 |
`mailbox` varchar(255) BINARY NOT NULL, |
|
193 |
`changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
|
194 |
`data` longtext NOT NULL, |
|
195 |
CONSTRAINT `user_id_fk_cache_thread` FOREIGN KEY (`user_id`) |
|
196 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, |
|
197 |
INDEX `changed_index` (`changed`), |
|
198 |
PRIMARY KEY (`user_id`, `mailbox`) |
|
199 |
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; |
|
200 |
|
|
201 |
CREATE TABLE `cache_messages` ( |
|
202 |
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
|
203 |
`mailbox` varchar(255) BINARY NOT NULL, |
|
204 |
`uid` int(11) UNSIGNED NOT NULL DEFAULT '0', |
|
205 |
`changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
|
206 |
`data` longtext NOT NULL, |
609d39
|
207 |
`flags` int(11) NOT NULL DEFAULT '0', |
80152b
|
208 |
CONSTRAINT `user_id_fk_cache_messages` FOREIGN KEY (`user_id`) |
A |
209 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, |
|
210 |
INDEX `changed_index` (`changed`), |
|
211 |
PRIMARY KEY (`user_id`, `mailbox`, `uid`) |
|
212 |
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; |
b8ae0e
|
213 |
|
d2d94a
|
214 |
/*!40014 SET FOREIGN_KEY_CHECKS=1 */; |
A |
215 |
|
f45074
|
216 |
-- Updates from version 0.7-beta |
A |
217 |
|
b8ae0e
|
218 |
ALTER TABLE `session` CHANGE `sess_id` `sess_id` varchar(128) NOT NULL; |
48be8f
|
219 |
|
A |
220 |
-- Updates from version 0.7 |
|
221 |
|
323f15
|
222 |
/*!40014 SET FOREIGN_KEY_CHECKS=0 */; |
A |
223 |
|
48be8f
|
224 |
ALTER TABLE `contacts` DROP FOREIGN KEY `user_id_fk_contacts`; |
A |
225 |
ALTER TABLE `contacts` DROP INDEX `user_contacts_index`; |
3d4a48
|
226 |
ALTER TABLE `contacts` MODIFY `email` text NOT NULL; |
48be8f
|
227 |
ALTER TABLE `contacts` ADD INDEX `user_contacts_index` (`user_id`,`del`); |
A |
228 |
ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`) |
|
229 |
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; |
|
230 |
|
|
231 |
ALTER TABLE `cache` ALTER `user_id` DROP DEFAULT; |
|
232 |
ALTER TABLE `cache_index` ALTER `user_id` DROP DEFAULT; |
|
233 |
ALTER TABLE `cache_thread` ALTER `user_id` DROP DEFAULT; |
|
234 |
ALTER TABLE `cache_messages` ALTER `user_id` DROP DEFAULT; |
|
235 |
ALTER TABLE `contacts` ALTER `user_id` DROP DEFAULT; |
|
236 |
ALTER TABLE `contactgroups` ALTER `user_id` DROP DEFAULT; |
|
237 |
ALTER TABLE `contactgroupmembers` ALTER `contact_id` DROP DEFAULT; |
|
238 |
ALTER TABLE `identities` ALTER `user_id` DROP DEFAULT; |
|
239 |
ALTER TABLE `searches` ALTER `user_id` DROP DEFAULT; |
323f15
|
240 |
|
A |
241 |
/*!40014 SET FOREIGN_KEY_CHECKS=1 */; |
83121e
|
242 |
|
AM |
243 |
-- Updates from version 0.8 |
|
244 |
|
565c47
|
245 |
ALTER TABLE `cache` DROP COLUMN `cache_id`; |
AM |
246 |
ALTER TABLE `users` DROP COLUMN `alias`; |
|
247 |
ALTER TABLE `identities` ADD INDEX `email_identities_index` (`email`, `del`); |