正在显示
100 个修改的文件
包含
20 行增加
和
2759 行删除
SQL/mssql.initial.sql
已删除
100644 → 0
1 | -CREATE TABLE [dbo].[cache] ( | ||
2 | - [user_id] [int] NOT NULL , | ||
3 | - [cache_key] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL , | ||
4 | - [expires] [datetime] NULL , | ||
5 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
6 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
7 | -GO | ||
8 | - | ||
9 | -CREATE TABLE [dbo].[cache_shared] ( | ||
10 | - [cache_key] [varchar] (255) COLLATE Latin1_General_CS_AS NOT NULL , | ||
11 | - [expires] [datetime] NULL , | ||
12 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
13 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
14 | -GO | ||
15 | - | ||
16 | -CREATE TABLE [dbo].[cache_index] ( | ||
17 | - [user_id] [int] NOT NULL , | ||
18 | - [mailbox] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL , | ||
19 | - [expires] [datetime] NULL , | ||
20 | - [valid] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL , | ||
21 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
22 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
23 | -GO | ||
24 | - | ||
25 | -CREATE TABLE [dbo].[cache_thread] ( | ||
26 | - [user_id] [int] NOT NULL , | ||
27 | - [mailbox] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL , | ||
28 | - [expires] [datetime] NULL , | ||
29 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
30 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
31 | -GO | ||
32 | - | ||
33 | -CREATE TABLE [dbo].[cache_messages] ( | ||
34 | - [user_id] [int] NOT NULL , | ||
35 | - [mailbox] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL , | ||
36 | - [uid] [int] NOT NULL , | ||
37 | - [expires] [datetime] NULL , | ||
38 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL , | ||
39 | - [flags] [int] NOT NULL | ||
40 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
41 | -GO | ||
42 | - | ||
43 | -CREATE TABLE [dbo].[collected_addresses] ( | ||
44 | - [address_id] [int] IDENTITY (1, 1) NOT NULL , | ||
45 | - [user_id] [int] NOT NULL , | ||
46 | - [changed] [datetime] NOT NULL , | ||
47 | - [name] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL , | ||
48 | - [email] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL , | ||
49 | - [type] [int] NOT NULL | ||
50 | -) ON [PRIMARY] | ||
51 | -GO | ||
52 | - | ||
53 | -CREATE TABLE [dbo].[contacts] ( | ||
54 | - [contact_id] [int] IDENTITY (1, 1) NOT NULL , | ||
55 | - [user_id] [int] NOT NULL , | ||
56 | - [changed] [datetime] NOT NULL , | ||
57 | - [del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL , | ||
58 | - [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
59 | - [email] [varchar] (8000) COLLATE Latin1_General_CI_AI NOT NULL , | ||
60 | - [firstname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
61 | - [surname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
62 | - [vcard] [text] COLLATE Latin1_General_CI_AI NULL , | ||
63 | - [words] [text] COLLATE Latin1_General_CI_AI NULL | ||
64 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
65 | -GO | ||
66 | - | ||
67 | -CREATE TABLE [dbo].[contactgroups] ( | ||
68 | - [contactgroup_id] [int] IDENTITY (1, 1) NOT NULL , | ||
69 | - [user_id] [int] NOT NULL , | ||
70 | - [changed] [datetime] NOT NULL , | ||
71 | - [del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL , | ||
72 | - [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL | ||
73 | -) ON [PRIMARY] | ||
74 | -GO | ||
75 | - | ||
76 | -CREATE TABLE [dbo].[contactgroupmembers] ( | ||
77 | - [contactgroup_id] [int] NOT NULL , | ||
78 | - [contact_id] [int] NOT NULL , | ||
79 | - [created] [datetime] NOT NULL | ||
80 | -) ON [PRIMARY] | ||
81 | -GO | ||
82 | - | ||
83 | -CREATE TABLE [dbo].[identities] ( | ||
84 | - [identity_id] [int] IDENTITY (1, 1) NOT NULL , | ||
85 | - [user_id] [int] NOT NULL , | ||
86 | - [changed] [datetime] NOT NULL , | ||
87 | - [del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL , | ||
88 | - [standard] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL , | ||
89 | - [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
90 | - [organization] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
91 | - [email] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
92 | - [reply-to] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
93 | - [bcc] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
94 | - [signature] [text] COLLATE Latin1_General_CI_AI NULL, | ||
95 | - [html_signature] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL | ||
96 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
97 | -GO | ||
98 | - | ||
99 | -CREATE TABLE [dbo].[session] ( | ||
100 | - [sess_id] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
101 | - [changed] [datetime] NULL , | ||
102 | - [ip] [varchar] (40) COLLATE Latin1_General_CI_AI NOT NULL , | ||
103 | - [vars] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
104 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
105 | -GO | ||
106 | - | ||
107 | -CREATE TABLE [dbo].[users] ( | ||
108 | - [user_id] [int] IDENTITY (1, 1) NOT NULL , | ||
109 | - [username] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL , | ||
110 | - [mail_host] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
111 | - [created] [datetime] NOT NULL , | ||
112 | - [last_login] [datetime] NULL , | ||
113 | - [failed_login] [datetime] NULL , | ||
114 | - [failed_login_counter] [int] NULL , | ||
115 | - [language] [varchar] (16) COLLATE Latin1_General_CI_AI NULL , | ||
116 | - [preferences] [text] COLLATE Latin1_General_CI_AI NULL | ||
117 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
118 | -GO | ||
119 | - | ||
120 | -CREATE TABLE [dbo].[dictionary] ( | ||
121 | - [user_id] [int] , | ||
122 | - [language] [varchar] (16) COLLATE Latin1_General_CI_AI NOT NULL , | ||
123 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
124 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
125 | -GO | ||
126 | - | ||
127 | -CREATE TABLE [dbo].[searches] ( | ||
128 | - [search_id] [int] IDENTITY (1, 1) NOT NULL , | ||
129 | - [user_id] [int] NOT NULL , | ||
130 | - [type] [tinyint] NOT NULL , | ||
131 | - [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
132 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
133 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
134 | -GO | ||
135 | - | ||
136 | -CREATE TABLE [dbo].[filestore] ( | ||
137 | - [file_id] [int] IDENTITY (1, 1) NOT NULL , | ||
138 | - [user_id] [int] NOT NULL , | ||
139 | - [context] [varchar] (32) COLLATE Latin1_General_CI_AI NOT NULL , | ||
140 | - [filename] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
141 | - [mtime] [int] NOT NULL , | ||
142 | - [data] [text] COLLATE Latin1_General_CI_AI NULL , | ||
143 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
144 | -GO | ||
145 | - | ||
146 | -CREATE TABLE [dbo].[system] ( | ||
147 | - [name] [varchar] (64) COLLATE Latin1_General_CI_AI NOT NULL , | ||
148 | - [value] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
149 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
150 | -GO | ||
151 | - | ||
152 | -ALTER TABLE [dbo].[cache] WITH NOCHECK ADD | ||
153 | - PRIMARY KEY CLUSTERED | ||
154 | - ( | ||
155 | - [user_id],[cache_key] | ||
156 | - ) ON [PRIMARY] | ||
157 | -GO | ||
158 | - | ||
159 | -ALTER TABLE [dbo].[cache_shared] WITH NOCHECK ADD | ||
160 | - PRIMARY KEY CLUSTERED | ||
161 | - ( | ||
162 | - [cache_key] | ||
163 | - ) ON [PRIMARY] | ||
164 | -GO | ||
165 | - | ||
166 | -ALTER TABLE [dbo].[cache_index] WITH NOCHECK ADD | ||
167 | - PRIMARY KEY CLUSTERED | ||
168 | - ( | ||
169 | - [user_id],[mailbox] | ||
170 | - ) ON [PRIMARY] | ||
171 | -GO | ||
172 | - | ||
173 | -ALTER TABLE [dbo].[cache_thread] WITH NOCHECK ADD | ||
174 | - PRIMARY KEY CLUSTERED | ||
175 | - ( | ||
176 | - [user_id],[mailbox] | ||
177 | - ) ON [PRIMARY] | ||
178 | -GO | ||
179 | - | ||
180 | -ALTER TABLE [dbo].[cache_messages] WITH NOCHECK ADD | ||
181 | - PRIMARY KEY CLUSTERED | ||
182 | - ( | ||
183 | - [user_id],[mailbox],[uid] | ||
184 | - ) ON [PRIMARY] | ||
185 | -GO | ||
186 | - | ||
187 | -ALTER TABLE [dbo].[collected_addresses] WITH NOCHECK ADD | ||
188 | - CONSTRAINT [PK_collected_addresses_address_id] PRIMARY KEY CLUSTERED | ||
189 | - ( | ||
190 | - [address_id] | ||
191 | - ) ON [PRIMARY] | ||
192 | -GO | ||
193 | - | ||
194 | -ALTER TABLE [dbo].[contacts] WITH NOCHECK ADD | ||
195 | - CONSTRAINT [PK_contacts_contact_id] PRIMARY KEY CLUSTERED | ||
196 | - ( | ||
197 | - [contact_id] | ||
198 | - ) ON [PRIMARY] | ||
199 | -GO | ||
200 | - | ||
201 | -ALTER TABLE [dbo].[contactgroups] WITH NOCHECK ADD | ||
202 | - CONSTRAINT [PK_contactgroups_contactgroup_id] PRIMARY KEY CLUSTERED | ||
203 | - ( | ||
204 | - [contactgroup_id] | ||
205 | - ) ON [PRIMARY] | ||
206 | -GO | ||
207 | - | ||
208 | -ALTER TABLE [dbo].[contactgroupmembers] WITH NOCHECK ADD | ||
209 | - CONSTRAINT [PK_contactgroupmembers_id] PRIMARY KEY CLUSTERED | ||
210 | - ( | ||
211 | - [contactgroup_id], [contact_id] | ||
212 | - ) ON [PRIMARY] | ||
213 | -GO | ||
214 | - | ||
215 | -ALTER TABLE [dbo].[identities] WITH NOCHECK ADD | ||
216 | - PRIMARY KEY CLUSTERED | ||
217 | - ( | ||
218 | - [identity_id] | ||
219 | - ) ON [PRIMARY] | ||
220 | -GO | ||
221 | - | ||
222 | -ALTER TABLE [dbo].[session] WITH NOCHECK ADD | ||
223 | - CONSTRAINT [PK_session_sess_id] PRIMARY KEY CLUSTERED | ||
224 | - ( | ||
225 | - [sess_id] | ||
226 | - ) ON [PRIMARY] | ||
227 | -GO | ||
228 | - | ||
229 | -ALTER TABLE [dbo].[users] WITH NOCHECK ADD | ||
230 | - CONSTRAINT [PK_users_user_id] PRIMARY KEY CLUSTERED | ||
231 | - ( | ||
232 | - [user_id] | ||
233 | - ) ON [PRIMARY] | ||
234 | -GO | ||
235 | - | ||
236 | -ALTER TABLE [dbo].[searches] WITH NOCHECK ADD | ||
237 | - CONSTRAINT [PK_searches_search_id] PRIMARY KEY CLUSTERED | ||
238 | - ( | ||
239 | - [search_id] | ||
240 | - ) ON [PRIMARY] | ||
241 | -GO | ||
242 | - | ||
243 | -ALTER TABLE [dbo].[filestore] WITH NOCHECK ADD | ||
244 | - CONSTRAINT [PK_filestore_file_id] PRIMARY KEY CLUSTERED | ||
245 | - ( | ||
246 | - [file_id] | ||
247 | - ) ON [PRIMARY] | ||
248 | -GO | ||
249 | - | ||
250 | -ALTER TABLE [dbo].[system] WITH NOCHECK ADD | ||
251 | - CONSTRAINT [PK_system_name] PRIMARY KEY CLUSTERED | ||
252 | - ( | ||
253 | - [name] | ||
254 | - ) ON [PRIMARY] | ||
255 | -GO | ||
256 | - | ||
257 | -ALTER TABLE [dbo].[cache] ADD | ||
258 | - CONSTRAINT [DF_cache_user_id] DEFAULT ('0') FOR [user_id], | ||
259 | - CONSTRAINT [DF_cache_cache_key] DEFAULT ('') FOR [cache_key] | ||
260 | -GO | ||
261 | - | ||
262 | -ALTER TABLE [dbo].[cache_index] ADD | ||
263 | - CONSTRAINT [DF_cache_index_valid] DEFAULT ('0') FOR [valid] | ||
264 | -GO | ||
265 | - | ||
266 | -ALTER TABLE [dbo].[cache_messages] ADD | ||
267 | - CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags] | ||
268 | -GO | ||
269 | - | ||
270 | -CREATE INDEX [IX_cache_shared_cache_key] ON [dbo].[cache_shared]([cache_key]) ON [PRIMARY] | ||
271 | -GO | ||
272 | - | ||
273 | -CREATE INDEX [IX_cache_index_user_id] ON [dbo].[cache_index]([user_id]) ON [PRIMARY] | ||
274 | -GO | ||
275 | - | ||
276 | -CREATE INDEX [IX_cache_thread_user_id] ON [dbo].[cache_thread]([user_id]) ON [PRIMARY] | ||
277 | -GO | ||
278 | - | ||
279 | -CREATE INDEX [IX_cache_messages_user_id] ON [dbo].[cache_messages]([user_id]) ON [PRIMARY] | ||
280 | -GO | ||
281 | - | ||
282 | -CREATE INDEX [IX_cache_expires] ON [dbo].[cache]([expires]) ON [PRIMARY] | ||
283 | -GO | ||
284 | - | ||
285 | -CREATE INDEX [IX_cache_shared_expires] ON [dbo].[cache_shared]([expires]) ON [PRIMARY] | ||
286 | -GO | ||
287 | - | ||
288 | -CREATE INDEX [IX_cache_index_expires] ON [dbo].[cache_index]([expires]) ON [PRIMARY] | ||
289 | -GO | ||
290 | - | ||
291 | -CREATE INDEX [IX_cache_thread_expires] ON [dbo].[cache_thread]([expires]) ON [PRIMARY] | ||
292 | -GO | ||
293 | - | ||
294 | -CREATE INDEX [IX_cache_messages_expires] ON [dbo].[cache_messages]([expires]) ON [PRIMARY] | ||
295 | -GO | ||
296 | - | ||
297 | -ALTER TABLE [dbo].[collected_addresses] ADD | ||
298 | - CONSTRAINT [DF_collected_addresses_user_id] DEFAULT (0) FOR [user_id], | ||
299 | - CONSTRAINT [DF_collected_addresses_changed] DEFAULT (getdate()) FOR [changed], | ||
300 | - CONSTRAINT [DF_collected_addresses_name] DEFAULT ('') FOR [name] | ||
301 | -GO | ||
302 | - | ||
303 | -CREATE UNIQUE INDEX [IX_collected_addresses_user_id] ON [dbo].[collected_addresses]([user_id],[type],[email]) ON [PRIMARY] | ||
304 | -GO | ||
305 | - | ||
306 | -ALTER TABLE [dbo].[contacts] ADD | ||
307 | - CONSTRAINT [DF_contacts_user_id] DEFAULT (0) FOR [user_id], | ||
308 | - CONSTRAINT [DF_contacts_changed] DEFAULT (getdate()) FOR [changed], | ||
309 | - CONSTRAINT [DF_contacts_del] DEFAULT ('0') FOR [del], | ||
310 | - CONSTRAINT [DF_contacts_name] DEFAULT ('') FOR [name], | ||
311 | - CONSTRAINT [DF_contacts_email] DEFAULT ('') FOR [email], | ||
312 | - CONSTRAINT [DF_contacts_firstname] DEFAULT ('') FOR [firstname], | ||
313 | - CONSTRAINT [DF_contacts_surname] DEFAULT ('') FOR [surname], | ||
314 | - CONSTRAINT [CK_contacts_del] CHECK ([del] = '1' or [del] = '0') | ||
315 | -GO | ||
316 | - | ||
317 | -CREATE INDEX [IX_contacts_user_id] ON [dbo].[contacts]([user_id]) ON [PRIMARY] | ||
318 | -GO | ||
319 | - | ||
320 | -ALTER TABLE [dbo].[contactgroups] ADD | ||
321 | - CONSTRAINT [DF_contactgroups_user_id] DEFAULT (0) FOR [user_id], | ||
322 | - CONSTRAINT [DF_contactgroups_changed] DEFAULT (getdate()) FOR [changed], | ||
323 | - CONSTRAINT [DF_contactgroups_del] DEFAULT ('0') FOR [del], | ||
324 | - CONSTRAINT [DF_contactgroups_name] DEFAULT ('') FOR [name], | ||
325 | - CONSTRAINT [CK_contactgroups_del] CHECK ([del] = '1' or [del] = '0') | ||
326 | -GO | ||
327 | - | ||
328 | -CREATE INDEX [IX_contactgroups_user_id] ON [dbo].[contactgroups]([user_id]) ON [PRIMARY] | ||
329 | -GO | ||
330 | - | ||
331 | -ALTER TABLE [dbo].[contactgroupmembers] ADD | ||
332 | - CONSTRAINT [DF_contactgroupmembers_contactgroup_id] DEFAULT (0) FOR [contactgroup_id], | ||
333 | - CONSTRAINT [DF_contactgroupmembers_contact_id] DEFAULT (0) FOR [contact_id], | ||
334 | - CONSTRAINT [DF_contactgroupmembers_created] DEFAULT (getdate()) FOR [created] | ||
335 | -GO | ||
336 | - | ||
337 | -CREATE INDEX [IX_contactgroupmembers_contact_id] ON [dbo].[contactgroupmembers]([contact_id]) ON [PRIMARY] | ||
338 | -GO | ||
339 | - | ||
340 | -ALTER TABLE [dbo].[identities] ADD | ||
341 | - CONSTRAINT [DF_identities_user] DEFAULT ('0') FOR [user_id], | ||
342 | - CONSTRAINT [DF_identities_del] DEFAULT ('0') FOR [del], | ||
343 | - CONSTRAINT [DF_identities_standard] DEFAULT ('0') FOR [standard], | ||
344 | - CONSTRAINT [DF_identities_name] DEFAULT ('') FOR [name], | ||
345 | - CONSTRAINT [DF_identities_organization] DEFAULT ('') FOR [organization], | ||
346 | - CONSTRAINT [DF_identities_email] DEFAULT ('') FOR [email], | ||
347 | - CONSTRAINT [DF_identities_reply] DEFAULT ('') FOR [reply-to], | ||
348 | - CONSTRAINT [DF_identities_bcc] DEFAULT ('') FOR [bcc], | ||
349 | - CONSTRAINT [DF_identities_html_signature] DEFAULT ('0') FOR [html_signature], | ||
350 | - CHECK ([standard] = '1' or [standard] = '0'), | ||
351 | - CHECK ([del] = '1' or [del] = '0') | ||
352 | -GO | ||
353 | - | ||
354 | -CREATE INDEX [IX_identities_user_id] ON [dbo].[identities]([user_id]) ON [PRIMARY] | ||
355 | -GO | ||
356 | -CREATE INDEX [IX_identities_email] ON [dbo].[identities]([email],[del]) ON [PRIMARY] | ||
357 | -GO | ||
358 | - | ||
359 | -ALTER TABLE [dbo].[session] ADD | ||
360 | - CONSTRAINT [DF_session_sess_id] DEFAULT ('') FOR [sess_id], | ||
361 | - CONSTRAINT [DF_session_ip] DEFAULT ('') FOR [ip] | ||
362 | -GO | ||
363 | - | ||
364 | -CREATE INDEX [IX_session_changed] ON [dbo].[session]([changed]) ON [PRIMARY] | ||
365 | -GO | ||
366 | - | ||
367 | -CREATE INDEX [IX_filestore_user_id] ON [dbo].[filestore]([user_id]) ON [PRIMARY] | ||
368 | -GO | ||
369 | - | ||
370 | -ALTER TABLE [dbo].[users] ADD | ||
371 | - CONSTRAINT [DF_users_username] DEFAULT ('') FOR [username], | ||
372 | - CONSTRAINT [DF_users_mail_host] DEFAULT ('') FOR [mail_host], | ||
373 | - CONSTRAINT [DF_users_created] DEFAULT (getdate()) FOR [created] | ||
374 | -GO | ||
375 | - | ||
376 | -CREATE UNIQUE INDEX [IX_users_username] ON [dbo].[users]([username],[mail_host]) ON [PRIMARY] | ||
377 | -GO | ||
378 | - | ||
379 | -CREATE UNIQUE INDEX [IX_dictionary_user_language] ON [dbo].[dictionary]([user_id],[language]) ON [PRIMARY] | ||
380 | -GO | ||
381 | - | ||
382 | -ALTER TABLE [dbo].[searches] ADD | ||
383 | - CONSTRAINT [DF_searches_user] DEFAULT (0) FOR [user_id], | ||
384 | - CONSTRAINT [DF_searches_type] DEFAULT (0) FOR [type] | ||
385 | -GO | ||
386 | - | ||
387 | -CREATE UNIQUE INDEX [IX_searches_user_type_name] ON [dbo].[searches]([user_id],[type],[name]) ON [PRIMARY] | ||
388 | -GO | ||
389 | - | ||
390 | -CREATE UNIQUE INDEX [IX_filestore_user_id_context_filename] ON [dbo].[filestore]([user_id],[context],[filename]) ON [PRIMARY] | ||
391 | -GO | ||
392 | - | ||
393 | -ALTER TABLE [dbo].[identities] ADD CONSTRAINT [FK_identities_user_id] | ||
394 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
395 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
396 | -GO | ||
397 | - | ||
398 | -ALTER TABLE [dbo].[collected_addresses] ADD CONSTRAINT [FK_collected_addresses_user_id] | ||
399 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
400 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
401 | -GO | ||
402 | - | ||
403 | -ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [FK_contacts_user_id] | ||
404 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
405 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
406 | -GO | ||
407 | - | ||
408 | -ALTER TABLE [dbo].[contactgroups] ADD CONSTRAINT [FK_contactgroups_user_id] | ||
409 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
410 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
411 | -GO | ||
412 | - | ||
413 | -ALTER TABLE [dbo].[cache] ADD CONSTRAINT [FK_cache_user_id] | ||
414 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
415 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
416 | -GO | ||
417 | - | ||
418 | -ALTER TABLE [dbo].[cache_index] ADD CONSTRAINT [FK_cache_index_user_id] | ||
419 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
420 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
421 | -GO | ||
422 | - | ||
423 | -ALTER TABLE [dbo].[cache_thread] ADD CONSTRAINT [FK_cache_thread_user_id] | ||
424 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
425 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
426 | -GO | ||
427 | - | ||
428 | -ALTER TABLE [dbo].[cache_messages] ADD CONSTRAINT [FK_cache_messages_user_id] | ||
429 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
430 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
431 | -GO | ||
432 | - | ||
433 | -ALTER TABLE [dbo].[contactgroupmembers] ADD CONSTRAINT [FK_contactgroupmembers_contactgroup_id] | ||
434 | - FOREIGN KEY ([contactgroup_id]) REFERENCES [dbo].[contactgroups] ([contactgroup_id]) | ||
435 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
436 | -GO | ||
437 | - | ||
438 | -ALTER TABLE [dbo].[searches] ADD CONSTRAINT [FK_searches_user_id] | ||
439 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
440 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
441 | -GO | ||
442 | - | ||
443 | -ALTER TABLE [dbo].[filestore] ADD CONSTRAINT [FK_filestore_user_id] | ||
444 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
445 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
446 | -GO | ||
447 | - | ||
448 | --- Use trigger instead of foreign key (#1487112) | ||
449 | --- "Introducing FOREIGN KEY constraint ... may cause cycles or multiple cascade paths." | ||
450 | -CREATE TRIGGER [contact_delete_member] ON [dbo].[contacts] | ||
451 | - AFTER DELETE AS | ||
452 | - DELETE FROM [dbo].[contactgroupmembers] | ||
453 | - WHERE [contact_id] IN (SELECT [contact_id] FROM deleted) | ||
454 | -GO | ||
455 | - | ||
456 | -INSERT INTO [dbo].[system] ([name], [value]) VALUES ('roundcube-version', '2020122900') | ||
457 | -GO | ||
458 | - |
SQL/mssql/2009103100.sql
已删除
100644 → 0
1 | --- Updates from version 0.3.1 | ||
2 | - | ||
3 | -ALTER TABLE [dbo].[messages] ADD CONSTRAINT [FK_messages_user_id] | ||
4 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
5 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
6 | -GO | ||
7 | - | ||
8 | -ALTER TABLE [dbo].[cache] ADD CONSTRAINT [FK_cache_user_id] | ||
9 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
10 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
11 | -GO | ||
12 | - | ||
13 | -ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [FK_contacts_user_id] | ||
14 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
15 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
16 | -GO | ||
17 | - | ||
18 | -ALTER TABLE [dbo].[identities] ADD CONSTRAINT [FK_identities_user_id] | ||
19 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
20 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
21 | -GO | ||
22 | - | ||
23 | -ALTER TABLE [dbo].[identities] ADD [changed] [datetime] NULL | ||
24 | -GO | ||
25 | - | ||
26 | -CREATE TABLE [dbo].[contactgroups] ( | ||
27 | - [contactgroup_id] [int] IDENTITY (1, 1) NOT NULL , | ||
28 | - [user_id] [int] NOT NULL , | ||
29 | - [changed] [datetime] NOT NULL , | ||
30 | - [del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL , | ||
31 | - [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL | ||
32 | -) ON [PRIMARY] | ||
33 | -GO | ||
34 | - | ||
35 | -CREATE TABLE [dbo].[contactgroupmembers] ( | ||
36 | - [contactgroup_id] [int] NOT NULL , | ||
37 | - [contact_id] [int] NOT NULL , | ||
38 | - [created] [datetime] NOT NULL | ||
39 | -) ON [PRIMARY] | ||
40 | -GO | ||
41 | - | ||
42 | -ALTER TABLE [dbo].[contactgroups] WITH NOCHECK ADD | ||
43 | - CONSTRAINT [PK_contactgroups_contactgroup_id] PRIMARY KEY CLUSTERED | ||
44 | - ( | ||
45 | - [contactgroup_id] | ||
46 | - ) ON [PRIMARY] | ||
47 | -GO | ||
48 | - | ||
49 | -ALTER TABLE [dbo].[contactgroupmembers] WITH NOCHECK ADD | ||
50 | - CONSTRAINT [PK_contactgroupmembers_id] PRIMARY KEY CLUSTERED | ||
51 | - ( | ||
52 | - [contactgroup_id], [contact_id] | ||
53 | - ) ON [PRIMARY] | ||
54 | -GO | ||
55 | - | ||
56 | -ALTER TABLE [dbo].[contactgroups] ADD | ||
57 | - CONSTRAINT [DF_contactgroups_user_id] DEFAULT (0) FOR [user_id], | ||
58 | - CONSTRAINT [DF_contactgroups_changed] DEFAULT (getdate()) FOR [changed], | ||
59 | - CONSTRAINT [DF_contactgroups_del] DEFAULT ('0') FOR [del], | ||
60 | - CONSTRAINT [DF_contactgroups_name] DEFAULT ('') FOR [name], | ||
61 | - CONSTRAINT [CK_contactgroups_del] CHECK ([del] = '1' or [del] = '0') | ||
62 | -GO | ||
63 | - | ||
64 | -CREATE INDEX [IX_contactgroups_user_id] ON [dbo].[contacts]([user_id]) ON [PRIMARY] | ||
65 | -GO | ||
66 | - | ||
67 | -ALTER TABLE [dbo].[contactgroupmembers] ADD | ||
68 | - CONSTRAINT [DF_contactgroupmembers_contactgroup_id] DEFAULT (0) FOR [contactgroup_id], | ||
69 | - CONSTRAINT [DF_contactgroupmembers_contact_id] DEFAULT (0) FOR [contact_id], | ||
70 | - CONSTRAINT [DF_contactgroupmembers_created] DEFAULT (getdate()) FOR [created] | ||
71 | -GO | ||
72 | - | ||
73 | -ALTER TABLE [dbo].[contactgroupmembers] ADD CONSTRAINT [FK_contactgroupmembers_contactgroup_id] | ||
74 | - FOREIGN KEY ([contactgroup_id]) REFERENCES [dbo].[contactgroups] ([contactgroup_id]) | ||
75 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
76 | -GO | ||
77 | - | ||
78 | -CREATE TRIGGER [contact_delete_member] ON [dbo].[contacts] | ||
79 | - AFTER DELETE AS | ||
80 | - DELETE FROM [dbo].[contactgroupmembers] | ||
81 | - WHERE [contact_id] IN (SELECT [contact_id] FROM deleted) | ||
82 | -GO | ||
83 | - | ||
84 | -ALTER TABLE [dbo].[contactgroups] ADD CONSTRAINT [FK_contactgroups_user_id] | ||
85 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
86 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
87 | -GO |
SQL/mssql/2010100600.sql
已删除
100644 → 0
SQL/mssql/2011011200.sql
已删除
100644 → 0
1 | --- Updates from version 0.5.x | ||
2 | - | ||
3 | -ALTER TABLE [dbo].[contacts] ADD [words] [text] COLLATE Latin1_General_CI_AI NULL | ||
4 | -GO | ||
5 | -CREATE INDEX [IX_contactgroupmembers_contact_id] ON [dbo].[contactgroupmembers]([contact_id]) ON [PRIMARY] | ||
6 | -GO | ||
7 | -DELETE FROM [dbo].[messages] | ||
8 | -GO | ||
9 | -DELETE FROM [dbo].[cache] | ||
10 | -GO |
SQL/mssql/2011092800.sql
已删除
100644 → 0
1 | --- Updates from version 0.6 | ||
2 | - | ||
3 | -CREATE TABLE [dbo].[dictionary] ( | ||
4 | - [user_id] [int] , | ||
5 | - [language] [varchar] (5) COLLATE Latin1_General_CI_AI NOT NULL , | ||
6 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
7 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
8 | -GO | ||
9 | -CREATE UNIQUE INDEX [IX_dictionary_user_language] ON [dbo].[dictionary]([user_id],[language]) ON [PRIMARY] | ||
10 | -GO | ||
11 | - | ||
12 | -CREATE TABLE [dbo].[searches] ( | ||
13 | - [search_id] [int] IDENTITY (1, 1) NOT NULL , | ||
14 | - [user_id] [int] NOT NULL , | ||
15 | - [type] [tinyint] NOT NULL , | ||
16 | - [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
17 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
18 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
19 | -GO | ||
20 | - | ||
21 | -ALTER TABLE [dbo].[searches] WITH NOCHECK ADD | ||
22 | - CONSTRAINT [PK_searches_search_id] PRIMARY KEY CLUSTERED | ||
23 | - ( | ||
24 | - [search_id] | ||
25 | - ) ON [PRIMARY] | ||
26 | -GO | ||
27 | - | ||
28 | -ALTER TABLE [dbo].[searches] ADD | ||
29 | - CONSTRAINT [DF_searches_user] DEFAULT (0) FOR [user_id], | ||
30 | - CONSTRAINT [DF_searches_type] DEFAULT (0) FOR [type], | ||
31 | -GO | ||
32 | - | ||
33 | -CREATE UNIQUE INDEX [IX_searches_user_type_name] ON [dbo].[searches]([user_id],[type],[name]) ON [PRIMARY] | ||
34 | -GO | ||
35 | - | ||
36 | -ALTER TABLE [dbo].[searches] ADD CONSTRAINT [FK_searches_user_id] | ||
37 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
38 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
39 | -GO | ||
40 | - | ||
41 | -DROP TABLE [dbo].[messages] | ||
42 | -GO | ||
43 | -CREATE TABLE [dbo].[cache_index] ( | ||
44 | - [user_id] [int] NOT NULL , | ||
45 | - [mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
46 | - [changed] [datetime] NOT NULL , | ||
47 | - [valid] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL , | ||
48 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
49 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
50 | -GO | ||
51 | - | ||
52 | -CREATE TABLE [dbo].[cache_thread] ( | ||
53 | - [user_id] [int] NOT NULL , | ||
54 | - [mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
55 | - [changed] [datetime] NOT NULL , | ||
56 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
57 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
58 | -GO | ||
59 | - | ||
60 | -CREATE TABLE [dbo].[cache_messages] ( | ||
61 | - [user_id] [int] NOT NULL , | ||
62 | - [mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
63 | - [uid] [int] NOT NULL , | ||
64 | - [changed] [datetime] NOT NULL , | ||
65 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL , | ||
66 | - [flags] [int] NOT NULL | ||
67 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
68 | -GO | ||
69 | - | ||
70 | -ALTER TABLE [dbo].[cache_index] WITH NOCHECK ADD | ||
71 | - PRIMARY KEY CLUSTERED | ||
72 | - ( | ||
73 | - [user_id],[mailbox] | ||
74 | - ) ON [PRIMARY] | ||
75 | -GO | ||
76 | - | ||
77 | -ALTER TABLE [dbo].[cache_thread] WITH NOCHECK ADD | ||
78 | - PRIMARY KEY CLUSTERED | ||
79 | - ( | ||
80 | - [user_id],[mailbox] | ||
81 | - ) ON [PRIMARY] | ||
82 | -GO | ||
83 | - | ||
84 | -ALTER TABLE [dbo].[cache_messages] WITH NOCHECK ADD | ||
85 | - PRIMARY KEY CLUSTERED | ||
86 | - ( | ||
87 | - [user_id],[mailbox],[uid] | ||
88 | - ) ON [PRIMARY] | ||
89 | -GO | ||
90 | - | ||
91 | -ALTER TABLE [dbo].[cache_index] ADD | ||
92 | - CONSTRAINT [DF_cache_index_changed] DEFAULT (getdate()) FOR [changed], | ||
93 | - CONSTRAINT [DF_cache_index_valid] DEFAULT ('0') FOR [valid] | ||
94 | -GO | ||
95 | - | ||
96 | -CREATE INDEX [IX_cache_index_user_id] ON [dbo].[cache_index]([user_id]) ON [PRIMARY] | ||
97 | -GO | ||
98 | - | ||
99 | -ALTER TABLE [dbo].[cache_thread] ADD | ||
100 | - CONSTRAINT [DF_cache_thread_changed] DEFAULT (getdate()) FOR [changed] | ||
101 | -GO | ||
102 | - | ||
103 | -CREATE INDEX [IX_cache_thread_user_id] ON [dbo].[cache_thread]([user_id]) ON [PRIMARY] | ||
104 | -GO | ||
105 | - | ||
106 | -ALTER TABLE [dbo].[cache_messages] ADD | ||
107 | - CONSTRAINT [DF_cache_messages_changed] DEFAULT (getdate()) FOR [changed], | ||
108 | - CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags] | ||
109 | -GO | ||
110 | - | ||
111 | -CREATE INDEX [IX_cache_messages_user_id] ON [dbo].[cache_messages]([user_id]) ON [PRIMARY] | ||
112 | -GO | ||
113 | - | ||
114 | -ALTER TABLE [dbo].[cache_index] ADD CONSTRAINT [FK_cache_index_user_id] | ||
115 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
116 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
117 | -GO | ||
118 | - | ||
119 | -ALTER TABLE [dbo].[cache_thread] ADD CONSTRAINT [FK_cache_thread_user_id] | ||
120 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
121 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
122 | -GO | ||
123 | - | ||
124 | -ALTER TABLE [dbo].[cache_messages] ADD CONSTRAINT [FK_cache_messages_user_id] | ||
125 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
126 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
127 | -GO |
SQL/mssql/2011111600.sql
已删除
100644 → 0
SQL/mssql/2011121400.sql
已删除
100644 → 0
1 | --- Updates from version 0.7 | ||
2 | - | ||
3 | -ALTER TABLE [dbo].[contacts] DROP CONSTRAINT [DF_contacts_email] | ||
4 | -GO | ||
5 | -ALTER TABLE [dbo].[contacts] ALTER COLUMN [email] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
6 | -GO | ||
7 | -ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [DF_contacts_email] DEFAULT ('') FOR [email] | ||
8 | -GO | ||
9 | - |
SQL/mssql/2012051800.sql
已删除
100644 → 0
1 | --- Updates from version 0.8-rc | ||
2 | - | ||
3 | -ALTER TABLE [dbo].[contacts] DROP CONSTRAINT [DF_contacts_email] | ||
4 | -GO | ||
5 | -ALTER TABLE [dbo].[contacts] ALTER COLUMN [email] [varchar] (8000) COLLATE Latin1_General_CI_AI NOT NULL | ||
6 | -GO | ||
7 | -ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [DF_contacts_email] DEFAULT ('') FOR [email] | ||
8 | -GO | ||
9 | - | ||
10 | --- Updates from version 0.8 | ||
11 | - | ||
12 | -ALTER TABLE [dbo].[cache] DROP COLUMN [cache_id] | ||
13 | -GO | ||
14 | -ALTER TABLE [dbo].[users] DROP COLUMN [alias] | ||
15 | -GO | ||
16 | -CREATE INDEX [IX_identities_email] ON [dbo].[identities]([email],[del]) ON [PRIMARY] | ||
17 | -GO | ||
18 | - |
SQL/mssql/2012080700.sql
已删除
100644 → 0
SQL/mssql/2013011000.sql
已删除
100644 → 0
1 | --- Upgrades from 0.9-beta | ||
2 | - | ||
3 | -CREATE TABLE [dbo].[system] ( | ||
4 | - [name] [varchar] (64) COLLATE Latin1_General_CI_AI NOT NULL , | ||
5 | - [value] [text] COLLATE Latin1_General_CI_AI | ||
6 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
7 | -GO | ||
8 | - | ||
9 | -ALTER TABLE [dbo].[system] WITH NOCHECK ADD | ||
10 | - CONSTRAINT [PK_system_name] PRIMARY KEY CLUSTERED | ||
11 | - ( | ||
12 | - [name] | ||
13 | - ) ON [PRIMARY] | ||
14 | -GO |
SQL/mssql/2013042700.sql
已删除
100644 → 0
1 | --- empty |
SQL/mssql/2013052500.sql
已删除
100644 → 0
1 | -CREATE TABLE [dbo].[cache_shared] ( | ||
2 | - [cache_key] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL , | ||
3 | - [created] [datetime] NOT NULL , | ||
4 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
5 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
6 | -GO | ||
7 | - | ||
8 | -ALTER TABLE [dbo].[cache_shared] ADD | ||
9 | - CONSTRAINT [DF_cache_shared_created] DEFAULT (getdate()) FOR [created] | ||
10 | -GO | ||
11 | - | ||
12 | -CREATE INDEX [IX_cache_shared_cache_key] ON [dbo].[cache_shared]([cache_key]) ON [PRIMARY] | ||
13 | -GO | ||
14 | - | ||
15 | -CREATE INDEX [IX_cache_shared_created] ON [dbo].[cache_shared]([created]) ON [PRIMARY] | ||
16 | -GO | ||
17 | - |
SQL/mssql/2013061000.sql
已删除
100644 → 0
1 | -ALTER TABLE [dbo].[cache] ADD [expires] [datetime] NULL | ||
2 | -GO | ||
3 | -ALTER TABLE [dbo].[cache_shared] ADD [expires] [datetime] NULL | ||
4 | -GO | ||
5 | -ALTER TABLE [dbo].[cache_index] ADD [expires] [datetime] NULL | ||
6 | -GO | ||
7 | -ALTER TABLE [dbo].[cache_thread] ADD [expires] [datetime] NULL | ||
8 | -GO | ||
9 | -ALTER TABLE [dbo].[cache_messages] ADD [expires] [datetime] NULL | ||
10 | -GO | ||
11 | - | ||
12 | -UPDATE [dbo].[cache] SET [expires] = DATEADD(second, 604800, [created]) | ||
13 | -GO | ||
14 | -UPDATE [dbo].[cache_shared] SET [expires] = DATEADD(second, 604800, [created]) | ||
15 | -GO | ||
16 | -UPDATE [dbo].[cache_index] SET [expires] = DATEADD(second, 604800, [changed]) | ||
17 | -GO | ||
18 | -UPDATE [dbo].[cache_thread] SET [expires] = DATEADD(second, 604800, [changed]) | ||
19 | -GO | ||
20 | -UPDATE [dbo].[cache_messages] SET [expires] = DATEADD(second, 604800, [changed]) | ||
21 | -GO | ||
22 | - | ||
23 | -DROP INDEX [IX_cache_created] | ||
24 | -GO | ||
25 | -DROP INDEX [IX_cache_shared_created] | ||
26 | -GO | ||
27 | -ALTER TABLE [dbo].[cache_index] DROP COLUMN [changed] | ||
28 | -GO | ||
29 | -ALTER TABLE [dbo].[cache_thread] DROP COLUMN [changed] | ||
30 | -GO | ||
31 | -ALTER TABLE [dbo].[cache_messages] DROP COLUMN [changed] | ||
32 | -GO | ||
33 | - | ||
34 | -CREATE INDEX [IX_cache_expires] ON [dbo].[cache]([expires]) ON [PRIMARY] | ||
35 | -GO | ||
36 | -CREATE INDEX [IX_cache_shared_expires] ON [dbo].[cache_shared]([expires]) ON [PRIMARY] | ||
37 | -GO | ||
38 | -CREATE INDEX [IX_cache_index_expires] ON [dbo].[cache_index]([expires]) ON [PRIMARY] | ||
39 | -GO | ||
40 | -CREATE INDEX [IX_cache_thread_expires] ON [dbo].[cache_thread]([expires]) ON [PRIMARY] | ||
41 | -GO | ||
42 | -CREATE INDEX [IX_cache_messages_expires] ON [dbo].[cache_messages]([expires]) ON [PRIMARY] | ||
43 | -GO | ||
44 | - |
SQL/mssql/2014042900.sql
已删除
100644 → 0
1 | --- empty |
SQL/mssql/2015030800.sql
已删除
100644 → 0
1 | --- empty |
SQL/mssql/2015111100.sql
已删除
100644 → 0
SQL/mssql/2016081200.sql
已删除
100644 → 0
SQL/mssql/2016100900.sql
已删除
100644 → 0
SQL/mssql/2016112200.sql
已删除
100644 → 0
1 | -DROP TABLE [dbo].[cache] | ||
2 | -GO | ||
3 | -DROP TABLE [dbo].[cache_shared] | ||
4 | -GO | ||
5 | - | ||
6 | -CREATE TABLE [dbo].[cache] ( | ||
7 | - [user_id] [int] NOT NULL , | ||
8 | - [cache_key] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
9 | - [expires] [datetime] NULL , | ||
10 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
11 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
12 | -GO | ||
13 | -CREATE TABLE [dbo].[cache_shared] ( | ||
14 | - [cache_key] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL , | ||
15 | - [expires] [datetime] NULL , | ||
16 | - [data] [text] COLLATE Latin1_General_CI_AI NOT NULL | ||
17 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
18 | -GO | ||
19 | -ALTER TABLE [dbo].[cache] ADD | ||
20 | - CONSTRAINT [DF_cache_user_id] DEFAULT ('0') FOR [user_id], | ||
21 | - CONSTRAINT [DF_cache_cache_key] DEFAULT ('') FOR [cache_key] | ||
22 | -GO | ||
23 | -CREATE INDEX [IX_cache_expires] ON [dbo].[cache]([expires]) ON [PRIMARY] | ||
24 | -GO | ||
25 | -CREATE INDEX [IX_cache_shared_expires] ON [dbo].[cache_shared]([expires]) ON [PRIMARY] | ||
26 | -GO | ||
27 | -ALTER TABLE [dbo].[cache] WITH NOCHECK ADD | ||
28 | - PRIMARY KEY CLUSTERED ( | ||
29 | - [user_id],[cache_key] | ||
30 | - ) ON [PRIMARY] | ||
31 | -GO | ||
32 | -ALTER TABLE [dbo].[cache_shared] WITH NOCHECK ADD | ||
33 | - PRIMARY KEY CLUSTERED ( | ||
34 | - [cache_key] | ||
35 | - ) ON [PRIMARY] | ||
36 | -GO |
SQL/mssql/2018021600.sql
已删除
100644 → 0
1 | -CREATE TABLE [dbo].[filestore] ( | ||
2 | - [file_id] [int] IDENTITY (1, 1) NOT NULL , | ||
3 | - [user_id] [int] NOT NULL , | ||
4 | - [filename] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , | ||
5 | - [mtime] [int] NOT NULL , | ||
6 | - [data] [text] COLLATE Latin1_General_CI_AI NULL , | ||
7 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
8 | -GO | ||
9 | - | ||
10 | -ALTER TABLE [dbo].[filestore] WITH NOCHECK ADD | ||
11 | - CONSTRAINT [PK_filestore_file_id] PRIMARY KEY CLUSTERED | ||
12 | - ( | ||
13 | - [file_id] | ||
14 | - ) ON [PRIMARY] | ||
15 | -GO | ||
16 | - | ||
17 | -CREATE INDEX [IX_filestore_user_id] ON [dbo].[filestore]([user_id]) ON [PRIMARY] | ||
18 | -GO | ||
19 | - | ||
20 | -ALTER TABLE [dbo].[filestore] ADD CONSTRAINT [FK_filestore_user_id] | ||
21 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
22 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
23 | -GO | ||
24 | - |
SQL/mssql/2018122300.sql
已删除
100644 → 0
1 | -ALTER TABLE [dbo].[filestore] ADD [context] varchar(32) COLLATE Latin1_General_CI_AI NOT NULL | ||
2 | -GO | ||
3 | - | ||
4 | -UPDATE [dbo].[filestore] SET [context] = 'enigma' | ||
5 | -GO | ||
6 | - | ||
7 | -CREATE UNIQUE INDEX [IX_filestore_user_id_context_filename] ON [dbo].[filestore]([user_id],[context],[filename]) ON [PRIMARY] | ||
8 | -GO | ||
9 | - |
SQL/mssql/2019092900.sql
已删除
100644 → 0
1 | -ALTER TABLE [dbo].[cache] ALTER COLUMN | ||
2 | - [cache_key] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL | ||
3 | -GO | ||
4 | -ALTER TABLE [dbo].[cache_shared] ALTER COLUMN | ||
5 | - [cache_key] [varchar] (255) COLLATE Latin1_General_CS_AS NOT NULL | ||
6 | -GO | ||
7 | -ALTER TABLE [dbo].[cache_index] ALTER COLUMN | ||
8 | - [mailbox] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL | ||
9 | -GO | ||
10 | -ALTER TABLE [dbo].[cache_messages] ALTER COLUMN | ||
11 | - [mailbox] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL | ||
12 | -GO | ||
13 | -ALTER TABLE [dbo].[cache_thread] ALTER COLUMN | ||
14 | - [mailbox] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL | ||
15 | -GO | ||
16 | -ALTER TABLE [dbo].[users] ALTER COLUMN | ||
17 | - [username] [varchar] (128) COLLATE Latin1_General_CS_AS NOT NULL | ||
18 | -GO |
SQL/mssql/2020020100.sql
已删除
100644 → 0
SQL/mssql/2020020101.sql
已删除
100644 → 0
1 | --- empty |
SQL/mssql/2020091000.sql
已删除
100644 → 0
1 | -CREATE TABLE [dbo].[collected_addresses] ( | ||
2 | - [address_id] [int] IDENTITY (1, 1) NOT NULL , | ||
3 | - [user_id] [int] NOT NULL , | ||
4 | - [changed] [datetime] NOT NULL , | ||
5 | - [name] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL , | ||
6 | - [email] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL , | ||
7 | - [type] [int] NOT NULL | ||
8 | -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] | ||
9 | -GO | ||
10 | - | ||
11 | -ALTER TABLE [dbo].[collected_addresses] WITH NOCHECK ADD | ||
12 | - CONSTRAINT [PK_collected_addresses_address_id] PRIMARY KEY CLUSTERED | ||
13 | - ( | ||
14 | - [address_id] | ||
15 | - ) ON [PRIMARY] | ||
16 | -GO | ||
17 | - | ||
18 | -ALTER TABLE [dbo].[collected_addresses] ADD | ||
19 | - CONSTRAINT [DF_collected_addresses_user_id] DEFAULT (0) FOR [user_id], | ||
20 | - CONSTRAINT [DF_collected_addresses_changed] DEFAULT (getdate()) FOR [changed], | ||
21 | - CONSTRAINT [DF_collected_addresses_name] DEFAULT ('') FOR [name], | ||
22 | -GO | ||
23 | - | ||
24 | -CREATE UNIQUE INDEX [IX_collected_addresses_user_id] ON [dbo].[collected_addresses]([user_id],[type],[email]) ON [PRIMARY] | ||
25 | -GO | ||
26 | - | ||
27 | -ALTER TABLE [dbo].[collected_addresses] ADD CONSTRAINT [FK_collected_addresses_user_id] | ||
28 | - FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id]) | ||
29 | - ON DELETE CASCADE ON UPDATE CASCADE | ||
30 | -GO | ||
31 | - |
SQL/mssql/2020122900.sql
已删除
100644 → 0
1 | ---empty |
@@ -23,8 +23,8 @@ CREATE TABLE `users` ( | @@ -23,8 +23,8 @@ CREATE TABLE `users` ( | ||
23 | `mail_host` varchar(128) NOT NULL, | 23 | `mail_host` varchar(128) NOT NULL, |
24 | `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', | 24 | `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
25 | `last_login` datetime DEFAULT NULL, | 25 | `last_login` datetime DEFAULT NULL, |
26 | - `failed_login` datetime DEFAULT NULL, | ||
27 | - `failed_login_counter` int(10) UNSIGNED DEFAULT NULL, | 26 | + `failed_login` datetime DEFAULT NULL COMMENT '最后尝试登录的时间', |
27 | + `failed_login_counter` int(10) unsigned DEFAULT NULL COMMENT '尝试登录的次数,和login_rate_limit配置相关,多少时间内不能超过次', | ||
28 | `language` varchar(16), | 28 | `language` varchar(16), |
29 | `preferences` longtext, | 29 | `preferences` longtext, |
30 | PRIMARY KEY(`user_id`), | 30 | PRIMARY KEY(`user_id`), |
@@ -241,9 +241,8 @@ CREATE TABLE `system` ( | @@ -241,9 +241,8 @@ CREATE TABLE `system` ( | ||
241 | PRIMARY KEY(`name`) | 241 | PRIMARY KEY(`name`) |
242 | ) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; | 242 | ) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; |
243 | 243 | ||
244 | -SET FOREIGN_KEY_CHECKS=1; | ||
245 | 244 | ||
246 | -INSERT INTO `system` (`name`, `value`) VALUES ('roundcube-version', '2020122900'); | 245 | +-- Table structure for table `email_server_address` |
247 | 246 | ||
248 | CREATE TABLE `email_server_address` ( | 247 | CREATE TABLE `email_server_address` ( |
249 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT, | 248 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
@@ -255,6 +254,9 @@ PRIMARY KEY (`id`), | @@ -255,6 +254,9 @@ PRIMARY KEY (`id`), | ||
255 | KEY `mail_suffix` (`mail_suffix`) | 254 | KEY `mail_suffix` (`mail_suffix`) |
256 | ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='email服务器地址'; | 255 | ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='email服务器地址'; |
257 | 256 | ||
257 | + | ||
258 | +-- Table structure for table `platform_users` | ||
259 | + | ||
258 | CREATE TABLE `platform_users` ( | 260 | CREATE TABLE `platform_users` ( |
259 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT, | 261 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
260 | `platform_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT ' platform 表id', | 262 | `platform_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT ' platform 表id', |
@@ -265,6 +267,8 @@ CREATE TABLE `platform_users` ( | @@ -265,6 +267,8 @@ CREATE TABLE `platform_users` ( | ||
265 | KEY `platform` (`platform_id`,`platform_user_id`,`user_id`) USING BTREE | 267 | KEY `platform` (`platform_id`,`platform_user_id`,`user_id`) USING BTREE |
266 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='接入平台,用户关系表'; | 268 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='接入平台,用户关系表'; |
267 | 269 | ||
270 | +-- Table structure for table `platform` | ||
271 | + | ||
268 | CREATE TABLE `platform` ( | 272 | CREATE TABLE `platform` ( |
269 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT, | 273 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT, |
270 | `name` varchar(20) NOT NULL DEFAULT '' COMMENT '那个平台', | 274 | `name` varchar(20) NOT NULL DEFAULT '' COMMENT '那个平台', |
@@ -274,4 +278,15 @@ CREATE TABLE `platform` ( | @@ -274,4 +278,15 @@ CREATE TABLE `platform` ( | ||
274 | `ip` varchar(64) NOT NULL DEFAULT '' COMMENT 'ipv6,ipv4,ip白名单', | 278 | `ip` varchar(64) NOT NULL DEFAULT '' COMMENT 'ipv6,ipv4,ip白名单', |
275 | PRIMARY KEY (`id`), | 279 | PRIMARY KEY (`id`), |
276 | UNIQUE KEY `appid` (`appid`) | 280 | UNIQUE KEY `appid` (`appid`) |
277 | -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='平台'; | ||
281 | +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='平台'; | ||
282 | + | ||
283 | + | ||
284 | +SET FOREIGN_KEY_CHECKS=1; | ||
285 | + | ||
286 | + | ||
287 | +-- Insert data | ||
288 | + | ||
289 | +INSERT INTO `system` (`name`, `value`) VALUES ('roundcube-version', '2020122900'); | ||
290 | + | ||
291 | +INSERT INTO `roundcubemail`.`email_server_address`(`id`, `mail_suffix`, `imap`, `smtp`, `service_provider`) VALUES (1, 'qq.com', 'imap.qq.com', 'smtp.qq.com', 'QQ邮箱'); | ||
292 | +INSERT INTO `roundcubemail`.`email_server_address`(`id`, `mail_suffix`, `imap`, `smtp`, `service_provider`) VALUES (2, 'gmail.com', 'imap.gmail.com', 'smtp.gmail.com', 'Gmail 谷歌'); |
SQL/oracle.initial.sql
已删除
100644 → 0
1 | --- Roundcube Webmail initial database structure | ||
2 | --- This was tested with Oracle 11g | ||
3 | - | ||
4 | -CREATE TABLE "users" ( | ||
5 | - "user_id" integer PRIMARY KEY, | ||
6 | - "username" varchar(128) NOT NULL, | ||
7 | - "mail_host" varchar(128) NOT NULL, | ||
8 | - "created" timestamp with time zone DEFAULT current_timestamp NOT NULL, | ||
9 | - "last_login" timestamp with time zone DEFAULT NULL, | ||
10 | - "failed_login" timestamp with time zone DEFAULT NULL, | ||
11 | - "failed_login_counter" integer DEFAULT NULL, | ||
12 | - "language" varchar(16), | ||
13 | - "preferences" long DEFAULT NULL, | ||
14 | - CONSTRAINT "users_username_key" UNIQUE ("username", "mail_host") | ||
15 | -); | ||
16 | - | ||
17 | -CREATE SEQUENCE "users_seq" | ||
18 | - START WITH 1 INCREMENT BY 1 NOMAXVALUE; | ||
19 | - | ||
20 | -CREATE TRIGGER "users_seq_trig" | ||
21 | -BEFORE INSERT ON "users" FOR EACH ROW | ||
22 | -BEGIN | ||
23 | - :NEW."user_id" := "users_seq".nextval; | ||
24 | -END; | ||
25 | -/ | ||
26 | - | ||
27 | -CREATE TABLE "session" ( | ||
28 | - "sess_id" varchar(128) NOT NULL PRIMARY KEY, | ||
29 | - "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL, | ||
30 | - "ip" varchar(41) NOT NULL, | ||
31 | - "vars" long NOT NULL | ||
32 | -); | ||
33 | - | ||
34 | -CREATE INDEX "session_changed_idx" ON "session" ("changed"); | ||
35 | - | ||
36 | - | ||
37 | -CREATE TABLE "identities" ( | ||
38 | - "identity_id" integer PRIMARY KEY, | ||
39 | - "user_id" integer NOT NULL | ||
40 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
41 | - "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL, | ||
42 | - "del" smallint DEFAULT 0 NOT NULL, | ||
43 | - "standard" smallint DEFAULT 0 NOT NULL, | ||
44 | - "name" varchar(128) NOT NULL, | ||
45 | - "organization" varchar(128), | ||
46 | - "email" varchar(128) NOT NULL, | ||
47 | - "reply-to" varchar(128), | ||
48 | - "bcc" varchar(128), | ||
49 | - "signature" long, | ||
50 | - "html_signature" integer DEFAULT 0 NOT NULL | ||
51 | -); | ||
52 | - | ||
53 | -CREATE INDEX "identities_user_id_idx" ON "identities" ("user_id", "del"); | ||
54 | -CREATE INDEX "identities_email_idx" ON "identities" ("email", "del"); | ||
55 | - | ||
56 | -CREATE SEQUENCE "identities_seq" | ||
57 | - START WITH 1 INCREMENT BY 1 NOMAXVALUE; | ||
58 | - | ||
59 | -CREATE TRIGGER "identities_seq_trig" | ||
60 | -BEFORE INSERT ON "identities" FOR EACH ROW | ||
61 | -BEGIN | ||
62 | - :NEW."identity_id" := "identities_seq".nextval; | ||
63 | -END; | ||
64 | -/ | ||
65 | - | ||
66 | -CREATE TABLE "collected_addresses" ( | ||
67 | - "address_id" integer PRIMARY KEY, | ||
68 | - "user_id" integer NOT NULL | ||
69 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
70 | - "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL, | ||
71 | - "name" varchar(255) DEFAULT NULL, | ||
72 | - "email" varchar(255) DEFAULT NULL, | ||
73 | - "type" integer NOT NULL | ||
74 | -); | ||
75 | - | ||
76 | -CREATE UNIQUE INDEX "collected_addresses_user_id_idx" ON "collected_addresses" ("user_id", "type", "email"); | ||
77 | - | ||
78 | -CREATE SEQUENCE "collected_addresses_seq" | ||
79 | - START WITH 1 INCREMENT BY 1 NOMAXVALUE; | ||
80 | - | ||
81 | -CREATE TRIGGER "collected_addresses_seq_trig" | ||
82 | -BEFORE INSERT ON "collected_addresses" FOR EACH ROW | ||
83 | -BEGIN | ||
84 | - :NEW."address_id" := "collected_addresses_seq".nextval; | ||
85 | -END; | ||
86 | -/ | ||
87 | - | ||
88 | -CREATE TABLE "contacts" ( | ||
89 | - "contact_id" integer PRIMARY KEY, | ||
90 | - "user_id" integer NOT NULL | ||
91 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
92 | - "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL, | ||
93 | - "del" smallint DEFAULT 0 NOT NULL, | ||
94 | - "name" varchar(128) DEFAULT NULL, | ||
95 | - "email" varchar(4000) DEFAULT NULL, | ||
96 | - "firstname" varchar(128) DEFAULT NULL, | ||
97 | - "surname" varchar(128) DEFAULT NULL, | ||
98 | - "vcard" long, | ||
99 | - "words" varchar(4000) | ||
100 | -); | ||
101 | - | ||
102 | -CREATE INDEX "contacts_user_id_idx" ON "contacts" ("user_id", "del"); | ||
103 | - | ||
104 | -CREATE SEQUENCE "contacts_seq" | ||
105 | - START WITH 1 INCREMENT BY 1 NOMAXVALUE; | ||
106 | - | ||
107 | -CREATE TRIGGER "contacts_seq_trig" | ||
108 | -BEFORE INSERT ON "contacts" FOR EACH ROW | ||
109 | -BEGIN | ||
110 | - :NEW."contact_id" := "contacts_seq".nextval; | ||
111 | -END; | ||
112 | -/ | ||
113 | - | ||
114 | -CREATE TABLE "contactgroups" ( | ||
115 | - "contactgroup_id" integer PRIMARY KEY, | ||
116 | - "user_id" integer NOT NULL | ||
117 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
118 | - "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL, | ||
119 | - "del" smallint DEFAULT 0 NOT NULL, | ||
120 | - "name" varchar(128) NOT NULL | ||
121 | -); | ||
122 | - | ||
123 | -CREATE INDEX "contactgroups_user_id_idx" ON "contactgroups" ("user_id", "del"); | ||
124 | - | ||
125 | -CREATE SEQUENCE "contactgroups_seq" | ||
126 | - START WITH 1 INCREMENT BY 1 NOMAXVALUE; | ||
127 | - | ||
128 | -CREATE TRIGGER "contactgroups_seq_trig" | ||
129 | -BEFORE INSERT ON "contactgroups" FOR EACH ROW | ||
130 | -BEGIN | ||
131 | - :NEW."contactgroup_id" := "contactgroups_seq".nextval; | ||
132 | -END; | ||
133 | -/ | ||
134 | - | ||
135 | -CREATE TABLE "contactgroupmembers" ( | ||
136 | - "contactgroup_id" integer NOT NULL | ||
137 | - REFERENCES "contactgroups" ("contactgroup_id") ON DELETE CASCADE, | ||
138 | - "contact_id" integer NOT NULL | ||
139 | - REFERENCES "contacts" ("contact_id") ON DELETE CASCADE, | ||
140 | - "created" timestamp with time zone DEFAULT current_timestamp NOT NULL, | ||
141 | - PRIMARY KEY ("contactgroup_id", "contact_id") | ||
142 | -); | ||
143 | - | ||
144 | -CREATE INDEX "contactgroupmembers_idx" ON "contactgroupmembers" ("contact_id"); | ||
145 | - | ||
146 | - | ||
147 | -CREATE TABLE "cache" ( | ||
148 | - "user_id" integer NOT NULL | ||
149 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
150 | - "cache_key" varchar(128) NOT NULL, | ||
151 | - "expires" timestamp with time zone DEFAULT NULL, | ||
152 | - "data" long NOT NULL, | ||
153 | - PRIMARY KEY ("user_id", "cache_key") | ||
154 | -); | ||
155 | - | ||
156 | -CREATE INDEX "cache_expires_idx" ON "cache" ("expires"); | ||
157 | - | ||
158 | - | ||
159 | -CREATE TABLE "cache_shared" ( | ||
160 | - "cache_key" varchar(255) NOT NULL, | ||
161 | - "expires" timestamp with time zone DEFAULT NULL, | ||
162 | - "data" long NOT NULL, | ||
163 | - PRIMARY KEY ("cache_key") | ||
164 | -); | ||
165 | - | ||
166 | -CREATE INDEX "cache_shared_expires_idx" ON "cache_shared" ("expires"); | ||
167 | - | ||
168 | - | ||
169 | -CREATE TABLE "cache_index" ( | ||
170 | - "user_id" integer NOT NULL | ||
171 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
172 | - "mailbox" varchar(255) NOT NULL, | ||
173 | - "expires" timestamp with time zone DEFAULT NULL, | ||
174 | - "valid" smallint DEFAULT 0 NOT NULL, | ||
175 | - "data" long NOT NULL, | ||
176 | - PRIMARY KEY ("user_id", "mailbox") | ||
177 | -); | ||
178 | - | ||
179 | -CREATE INDEX "cache_index_expires_idx" ON "cache_index" ("expires"); | ||
180 | - | ||
181 | - | ||
182 | -CREATE TABLE "cache_thread" ( | ||
183 | - "user_id" integer NOT NULL | ||
184 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
185 | - "mailbox" varchar(255) NOT NULL, | ||
186 | - "expires" timestamp with time zone DEFAULT NULL, | ||
187 | - "data" long NOT NULL, | ||
188 | - PRIMARY KEY ("user_id", "mailbox") | ||
189 | -); | ||
190 | - | ||
191 | -CREATE INDEX "cache_thread_expires_idx" ON "cache_thread" ("expires"); | ||
192 | - | ||
193 | - | ||
194 | -CREATE TABLE "cache_messages" ( | ||
195 | - "user_id" integer NOT NULL | ||
196 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
197 | - "mailbox" varchar(255) NOT NULL, | ||
198 | - "uid" integer NOT NULL, | ||
199 | - "expires" timestamp with time zone DEFAULT NULL, | ||
200 | - "data" long NOT NULL, | ||
201 | - "flags" integer DEFAULT 0 NOT NULL, | ||
202 | - PRIMARY KEY ("user_id", "mailbox", "uid") | ||
203 | -); | ||
204 | - | ||
205 | -CREATE INDEX "cache_messages_expires_idx" ON "cache_messages" ("expires"); | ||
206 | - | ||
207 | - | ||
208 | -CREATE TABLE "dictionary" ( | ||
209 | - "user_id" integer DEFAULT NULL | ||
210 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
211 | - "language" varchar(16) NOT NULL, | ||
212 | - "data" long DEFAULT NULL, | ||
213 | - CONSTRAINT "dictionary_user_id_lang_key" UNIQUE ("user_id", "language") | ||
214 | -); | ||
215 | - | ||
216 | - | ||
217 | -CREATE TABLE "searches" ( | ||
218 | - "search_id" integer PRIMARY KEY, | ||
219 | - "user_id" integer NOT NULL | ||
220 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
221 | - "type" smallint DEFAULT 0 NOT NULL, | ||
222 | - "name" varchar(128) NOT NULL, | ||
223 | - "data" long NOT NULL, | ||
224 | - CONSTRAINT "searches_user_id_key" UNIQUE ("user_id", "type", "name") | ||
225 | -); | ||
226 | - | ||
227 | -CREATE SEQUENCE "searches_seq" | ||
228 | - START WITH 1 INCREMENT BY 1 NOMAXVALUE; | ||
229 | - | ||
230 | -CREATE TRIGGER "searches_seq_trig" | ||
231 | -BEFORE INSERT ON "searches" FOR EACH ROW | ||
232 | -BEGIN | ||
233 | - :NEW."search_id" := "searches_seq".nextval; | ||
234 | -END; | ||
235 | -/ | ||
236 | - | ||
237 | -CREATE TABLE "filestore" ( | ||
238 | - "file_id" integer PRIMARY KEY, | ||
239 | - "user_id" integer NOT NULL | ||
240 | - REFERENCES "users" ("user_id") ON DELETE CASCADE ON UPDATE CASCADE, | ||
241 | - "context" varchar(32) NOT NULL, | ||
242 | - "filename" varchar(128) NOT NULL, | ||
243 | - "mtime" integer NOT NULL, | ||
244 | - "data" long, | ||
245 | - CONSTRAINT "filestore_user_id_key" UNIQUE ("user_id", "context", "filename") | ||
246 | -); | ||
247 | - | ||
248 | -CREATE SEQUENCE "filestore_seq" | ||
249 | - START WITH 1 INCREMENT BY 1 NOMAXVALUE; | ||
250 | - | ||
251 | -CREATE TRIGGER "filestore_seq_trig" | ||
252 | -BEFORE INSERT ON "filestore" FOR EACH ROW | ||
253 | -BEGIN | ||
254 | - :NEW."user_id" := "filestore_seq".nextval; | ||
255 | -END; | ||
256 | -/ | ||
257 | - | ||
258 | -CREATE TABLE "system" ( | ||
259 | - "name" varchar(64) NOT NULL PRIMARY KEY, | ||
260 | - "value" long | ||
261 | -); | ||
262 | - | ||
263 | -INSERT INTO "system" ("name", "value") VALUES ('roundcube-version', '2020122900'); |
SQL/oracle/2015030800.sql
已删除
100644 → 0
1 | --- empty |
SQL/oracle/2015111100.sql
已删除
100644 → 0
SQL/oracle/2016081200.sql
已删除
100644 → 0
1 | -ALTER TABLE "session" DROP COLUMN "created"; |
SQL/oracle/2016100900.sql
已删除
100644 → 0
1 | -ALTER TABLE "session" MODIFY "ip" varchar(41) NOT NULL; |
SQL/oracle/2016112200.sql
已删除
100644 → 0
1 | -DROP TABLE "cache"; | ||
2 | -DROP TABLE "cache_shared"; | ||
3 | - | ||
4 | -CREATE TABLE "cache" ( | ||
5 | - "user_id" integer NOT NULL | ||
6 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
7 | - "cache_key" varchar(128) NOT NULL, | ||
8 | - "expires" timestamp with time zone DEFAULT NULL, | ||
9 | - "data" long NOT NULL, | ||
10 | - PRIMARY KEY ("user_id", "cache_key") | ||
11 | -); | ||
12 | - | ||
13 | -CREATE INDEX "cache_expires_idx" ON "cache" ("expires"); | ||
14 | - | ||
15 | - | ||
16 | -CREATE TABLE "cache_shared" ( | ||
17 | - "cache_key" varchar(255) NOT NULL, | ||
18 | - "expires" timestamp with time zone DEFAULT NULL, | ||
19 | - "data" long NOT NULL, | ||
20 | - PRIMARY KEY ("cache_key") | ||
21 | -); | ||
22 | - | ||
23 | -CREATE INDEX "cache_shared_expires_idx" ON "cache_shared" ("expires"); |
SQL/oracle/2018021600.sql
已删除
100644 → 0
1 | -CREATE TABLE "filestore" ( | ||
2 | - "file_id" integer PRIMARY KEY, | ||
3 | - "user_id" integer NOT NULL | ||
4 | - REFERENCES "users" ("user_id") ON DELETE CASCADE ON UPDATE CASCADE, | ||
5 | - "filename" varchar(128) NOT NULL, | ||
6 | - "mtime" integer NOT NULL, | ||
7 | - "data" long, | ||
8 | - CONSTRAINT "filestore_user_id_key" UNIQUE ("user_id", "filename") | ||
9 | -); | ||
10 | - | ||
11 | -CREATE SEQUENCE "filestore_seq" | ||
12 | - START WITH 1 INCREMENT BY 1 NOMAXVALUE; | ||
13 | - | ||
14 | -CREATE TRIGGER "filestore_seq_trig" | ||
15 | -BEFORE INSERT ON "filestore" FOR EACH ROW | ||
16 | -BEGIN | ||
17 | - :NEW."user_id" := "filestore_seq".nextval; | ||
18 | -END; | ||
19 | -/ |
SQL/oracle/2018122300.sql
已删除
100644 → 0
SQL/oracle/2019092900.sql
已删除
100644 → 0
1 | --- empty |
SQL/oracle/2020020100.sql
已删除
100644 → 0
SQL/oracle/2020020101.sql
已删除
100644 → 0
1 | --- empty |
SQL/oracle/2020091000.sql
已删除
100644 → 0
1 | -CREATE TABLE "collected_addresses" ( | ||
2 | - "address_id" integer PRIMARY KEY, | ||
3 | - "user_id" integer NOT NULL | ||
4 | - REFERENCES "users" ("user_id") ON DELETE CASCADE, | ||
5 | - "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL, | ||
6 | - "name" varchar(255) DEFAULT NULL, | ||
7 | - "email" varchar(255) DEFAULT NULL, | ||
8 | - "type" integer NOT NULL | ||
9 | -); | ||
10 | - | ||
11 | -CREATE UNIQUE INDEX "collected_addresses_user_id_idx" ON "collected_addresses" ("user_id", "type", "email"); | ||
12 | - | ||
13 | -CREATE SEQUENCE "collected_addresses_seq" | ||
14 | - START WITH 1 INCREMENT BY 1 NOMAXVALUE; | ||
15 | - | ||
16 | -CREATE TRIGGER "collected_addresses_seq_trig" | ||
17 | -BEFORE INSERT ON "collected_addresses" FOR EACH ROW | ||
18 | -BEGIN | ||
19 | - :NEW."address_id" := "collected_addresses_seq".nextval; | ||
20 | -END; | ||
21 | -/ |
SQL/oracle/2020122900.sql
已删除
100644 → 0
1 | ---empty |
SQL/postgres.initial.sql
已删除
100644 → 0
1 | --- Roundcube Webmail initial database structure | ||
2 | - | ||
3 | --- | ||
4 | --- Sequence "users_seq" | ||
5 | --- Name: users_seq; Type: SEQUENCE; Schema: public; Owner: postgres | ||
6 | --- | ||
7 | - | ||
8 | -CREATE SEQUENCE users_seq | ||
9 | - INCREMENT BY 1 | ||
10 | - NO MAXVALUE | ||
11 | - NO MINVALUE | ||
12 | - CACHE 1; | ||
13 | - | ||
14 | --- | ||
15 | --- Table "users" | ||
16 | --- Name: users; Type: TABLE; Schema: public; Owner: postgres | ||
17 | --- | ||
18 | - | ||
19 | -CREATE TABLE users ( | ||
20 | - user_id integer DEFAULT nextval('users_seq'::text) PRIMARY KEY, | ||
21 | - username varchar(128) DEFAULT '' NOT NULL, | ||
22 | - mail_host varchar(128) DEFAULT '' NOT NULL, | ||
23 | - created timestamp with time zone DEFAULT now() NOT NULL, | ||
24 | - last_login timestamp with time zone DEFAULT NULL, | ||
25 | - failed_login timestamp with time zone DEFAULT NULL, | ||
26 | - failed_login_counter integer DEFAULT NULL, | ||
27 | - "language" varchar(16), | ||
28 | - preferences text DEFAULT NULL, | ||
29 | - CONSTRAINT users_username_key UNIQUE (username, mail_host) | ||
30 | -); | ||
31 | - | ||
32 | - | ||
33 | --- | ||
34 | --- Table "session" | ||
35 | --- Name: session; Type: TABLE; Schema: public; Owner: postgres | ||
36 | --- | ||
37 | - | ||
38 | -CREATE TABLE "session" ( | ||
39 | - sess_id varchar(128) DEFAULT '' PRIMARY KEY, | ||
40 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
41 | - ip varchar(41) NOT NULL, | ||
42 | - vars text NOT NULL | ||
43 | -); | ||
44 | - | ||
45 | -CREATE INDEX session_changed_idx ON session (changed); | ||
46 | - | ||
47 | - | ||
48 | --- | ||
49 | --- Sequence "identities_seq" | ||
50 | --- Name: identities_seq; Type: SEQUENCE; Schema: public; Owner: postgres | ||
51 | --- | ||
52 | - | ||
53 | -CREATE SEQUENCE identities_seq | ||
54 | - START WITH 1 | ||
55 | - INCREMENT BY 1 | ||
56 | - NO MAXVALUE | ||
57 | - NO MINVALUE | ||
58 | - CACHE 1; | ||
59 | - | ||
60 | --- | ||
61 | --- Table "identities" | ||
62 | --- Name: identities; Type: TABLE; Schema: public; Owner: postgres | ||
63 | --- | ||
64 | - | ||
65 | -CREATE TABLE identities ( | ||
66 | - identity_id integer DEFAULT nextval('identities_seq'::text) PRIMARY KEY, | ||
67 | - user_id integer NOT NULL | ||
68 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
69 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
70 | - del smallint DEFAULT 0 NOT NULL, | ||
71 | - standard smallint DEFAULT 0 NOT NULL, | ||
72 | - name varchar(128) NOT NULL, | ||
73 | - organization varchar(128), | ||
74 | - email varchar(128) NOT NULL, | ||
75 | - "reply-to" varchar(128), | ||
76 | - bcc varchar(128), | ||
77 | - signature text, | ||
78 | - html_signature integer DEFAULT 0 NOT NULL | ||
79 | -); | ||
80 | - | ||
81 | -CREATE INDEX identities_user_id_idx ON identities (user_id, del); | ||
82 | -CREATE INDEX identities_email_idx ON identities (email, del); | ||
83 | - | ||
84 | --- | ||
85 | --- Sequence "collected_addresses_seq" | ||
86 | --- Name: collected_addresses_seq; Type: SEQUENCE; Schema: public; Owner: postgres | ||
87 | --- | ||
88 | - | ||
89 | -CREATE SEQUENCE collected_addresses_seq | ||
90 | - START WITH 1 | ||
91 | - INCREMENT BY 1 | ||
92 | - NO MAXVALUE | ||
93 | - NO MINVALUE | ||
94 | - CACHE 1; | ||
95 | - | ||
96 | --- | ||
97 | --- Table "collected_addresses" | ||
98 | --- Name: collected_addresses; Type: TABLE; Schema: public; Owner: postgres | ||
99 | --- | ||
100 | - | ||
101 | -CREATE TABLE collected_addresses ( | ||
102 | - address_id integer DEFAULT nextval('collected_addresses_seq'::text) PRIMARY KEY, | ||
103 | - user_id integer NOT NULL | ||
104 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
105 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
106 | - name varchar(255) DEFAULT '' NOT NULL, | ||
107 | - email varchar(255) NOT NULL, | ||
108 | - "type" integer NOT NULL | ||
109 | -); | ||
110 | - | ||
111 | -CREATE UNIQUE INDEX collected_addresses_user_id_idx ON collected_addresses (user_id, "type", email); | ||
112 | - | ||
113 | - | ||
114 | --- | ||
115 | --- Sequence "contacts_seq" | ||
116 | --- Name: contacts_seq; Type: SEQUENCE; Schema: public; Owner: postgres | ||
117 | --- | ||
118 | - | ||
119 | -CREATE SEQUENCE contacts_seq | ||
120 | - START WITH 1 | ||
121 | - INCREMENT BY 1 | ||
122 | - NO MAXVALUE | ||
123 | - NO MINVALUE | ||
124 | - CACHE 1; | ||
125 | - | ||
126 | --- | ||
127 | --- Table "contacts" | ||
128 | --- Name: contacts; Type: TABLE; Schema: public; Owner: postgres | ||
129 | --- | ||
130 | - | ||
131 | -CREATE TABLE contacts ( | ||
132 | - contact_id integer DEFAULT nextval('contacts_seq'::text) PRIMARY KEY, | ||
133 | - user_id integer NOT NULL | ||
134 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
135 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
136 | - del smallint DEFAULT 0 NOT NULL, | ||
137 | - name varchar(128) DEFAULT '' NOT NULL, | ||
138 | - email text DEFAULT '' NOT NULL, | ||
139 | - firstname varchar(128) DEFAULT '' NOT NULL, | ||
140 | - surname varchar(128) DEFAULT '' NOT NULL, | ||
141 | - vcard text, | ||
142 | - words text | ||
143 | -); | ||
144 | - | ||
145 | -CREATE INDEX contacts_user_id_idx ON contacts (user_id, del); | ||
146 | - | ||
147 | --- | ||
148 | --- Sequence "contactgroups_seq" | ||
149 | --- Name: contactgroups_seq; Type: SEQUENCE; Schema: public; Owner: postgres | ||
150 | --- | ||
151 | - | ||
152 | -CREATE SEQUENCE contactgroups_seq | ||
153 | - INCREMENT BY 1 | ||
154 | - NO MAXVALUE | ||
155 | - NO MINVALUE | ||
156 | - CACHE 1; | ||
157 | - | ||
158 | --- | ||
159 | --- Table "contactgroups" | ||
160 | --- Name: contactgroups; Type: TABLE; Schema: public; Owner: postgres | ||
161 | --- | ||
162 | - | ||
163 | -CREATE TABLE contactgroups ( | ||
164 | - contactgroup_id integer DEFAULT nextval('contactgroups_seq'::text) PRIMARY KEY, | ||
165 | - user_id integer NOT NULL | ||
166 | - REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
167 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
168 | - del smallint NOT NULL DEFAULT 0, | ||
169 | - name varchar(128) NOT NULL DEFAULT '' | ||
170 | -); | ||
171 | - | ||
172 | -CREATE INDEX contactgroups_user_id_idx ON contactgroups (user_id, del); | ||
173 | - | ||
174 | --- | ||
175 | --- Table "contactgroupmembers" | ||
176 | --- Name: contactgroupmembers; Type: TABLE; Schema: public; Owner: postgres | ||
177 | --- | ||
178 | - | ||
179 | -CREATE TABLE contactgroupmembers ( | ||
180 | - contactgroup_id integer NOT NULL | ||
181 | - REFERENCES contactgroups(contactgroup_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
182 | - contact_id integer NOT NULL | ||
183 | - REFERENCES contacts(contact_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
184 | - created timestamp with time zone DEFAULT now() NOT NULL, | ||
185 | - PRIMARY KEY (contactgroup_id, contact_id) | ||
186 | -); | ||
187 | - | ||
188 | -CREATE INDEX contactgroupmembers_contact_id_idx ON contactgroupmembers (contact_id); | ||
189 | - | ||
190 | --- | ||
191 | --- Table "cache" | ||
192 | --- Name: cache; Type: TABLE; Schema: public; Owner: postgres | ||
193 | --- | ||
194 | - | ||
195 | -CREATE TABLE "cache" ( | ||
196 | - user_id integer NOT NULL | ||
197 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
198 | - cache_key varchar(128) DEFAULT '' NOT NULL, | ||
199 | - expires timestamp with time zone DEFAULT NULL, | ||
200 | - data text NOT NULL, | ||
201 | - PRIMARY KEY (user_id, cache_key) | ||
202 | -); | ||
203 | - | ||
204 | -CREATE INDEX cache_expires_idx ON "cache" (expires); | ||
205 | - | ||
206 | --- | ||
207 | --- Table "cache_shared" | ||
208 | --- Name: cache_shared; Type: TABLE; Schema: public; Owner: postgres | ||
209 | --- | ||
210 | - | ||
211 | -CREATE TABLE "cache_shared" ( | ||
212 | - cache_key varchar(255) NOT NULL PRIMARY KEY, | ||
213 | - expires timestamp with time zone DEFAULT NULL, | ||
214 | - data text NOT NULL | ||
215 | -); | ||
216 | - | ||
217 | -CREATE INDEX cache_shared_expires_idx ON "cache_shared" (expires); | ||
218 | - | ||
219 | --- | ||
220 | --- Table "cache_index" | ||
221 | --- Name: cache_index; Type: TABLE; Schema: public; Owner: postgres | ||
222 | --- | ||
223 | - | ||
224 | -CREATE TABLE cache_index ( | ||
225 | - user_id integer NOT NULL | ||
226 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
227 | - mailbox varchar(255) NOT NULL, | ||
228 | - expires timestamp with time zone DEFAULT NULL, | ||
229 | - valid smallint NOT NULL DEFAULT 0, | ||
230 | - data text NOT NULL, | ||
231 | - PRIMARY KEY (user_id, mailbox) | ||
232 | -); | ||
233 | - | ||
234 | -CREATE INDEX cache_index_expires_idx ON cache_index (expires); | ||
235 | - | ||
236 | --- | ||
237 | --- Table "cache_thread" | ||
238 | --- Name: cache_thread; Type: TABLE; Schema: public; Owner: postgres | ||
239 | --- | ||
240 | - | ||
241 | -CREATE TABLE cache_thread ( | ||
242 | - user_id integer NOT NULL | ||
243 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
244 | - mailbox varchar(255) NOT NULL, | ||
245 | - expires timestamp with time zone DEFAULT NULL, | ||
246 | - data text NOT NULL, | ||
247 | - PRIMARY KEY (user_id, mailbox) | ||
248 | -); | ||
249 | - | ||
250 | -CREATE INDEX cache_thread_expires_idx ON cache_thread (expires); | ||
251 | - | ||
252 | --- | ||
253 | --- Table "cache_messages" | ||
254 | --- Name: cache_messages; Type: TABLE; Schema: public; Owner: postgres | ||
255 | --- | ||
256 | - | ||
257 | -CREATE TABLE cache_messages ( | ||
258 | - user_id integer NOT NULL | ||
259 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
260 | - mailbox varchar(255) NOT NULL, | ||
261 | - uid integer NOT NULL, | ||
262 | - expires timestamp with time zone DEFAULT NULL, | ||
263 | - data text NOT NULL, | ||
264 | - flags integer NOT NULL DEFAULT 0, | ||
265 | - PRIMARY KEY (user_id, mailbox, uid) | ||
266 | -); | ||
267 | - | ||
268 | -CREATE INDEX cache_messages_expires_idx ON cache_messages (expires); | ||
269 | - | ||
270 | --- | ||
271 | --- Table "dictionary" | ||
272 | --- Name: dictionary; Type: TABLE; Schema: public; Owner: postgres | ||
273 | --- | ||
274 | - | ||
275 | -CREATE TABLE dictionary ( | ||
276 | - user_id integer DEFAULT NULL | ||
277 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
278 | - "language" varchar(16) NOT NULL, | ||
279 | - data text NOT NULL, | ||
280 | - CONSTRAINT dictionary_user_id_language_key UNIQUE (user_id, "language") | ||
281 | -); | ||
282 | - | ||
283 | --- | ||
284 | --- Sequence "searches_seq" | ||
285 | --- Name: searches_seq; Type: SEQUENCE; Schema: public; Owner: postgres | ||
286 | --- | ||
287 | - | ||
288 | -CREATE SEQUENCE searches_seq | ||
289 | - INCREMENT BY 1 | ||
290 | - NO MAXVALUE | ||
291 | - NO MINVALUE | ||
292 | - CACHE 1; | ||
293 | - | ||
294 | --- | ||
295 | --- Table "searches" | ||
296 | --- Name: searches; Type: TABLE; Schema: public; Owner: postgres | ||
297 | --- | ||
298 | - | ||
299 | -CREATE TABLE searches ( | ||
300 | - search_id integer DEFAULT nextval('searches_seq'::text) PRIMARY KEY, | ||
301 | - user_id integer NOT NULL | ||
302 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
303 | - "type" smallint DEFAULT 0 NOT NULL, | ||
304 | - name varchar(128) NOT NULL, | ||
305 | - data text NOT NULL, | ||
306 | - CONSTRAINT searches_user_id_key UNIQUE (user_id, "type", name) | ||
307 | -); | ||
308 | - | ||
309 | --- | ||
310 | --- Sequence "filestore_seq" | ||
311 | --- Name: filestore_seq; Type: SEQUENCE; Schema: public; Owner: postgres | ||
312 | --- | ||
313 | - | ||
314 | -CREATE SEQUENCE "filestore_seq" | ||
315 | - INCREMENT BY 1 | ||
316 | - NO MAXVALUE | ||
317 | - NO MINVALUE | ||
318 | - CACHE 1; | ||
319 | - | ||
320 | --- | ||
321 | --- Table "filestore" | ||
322 | --- Name: filestore; Type: TABLE; Schema: public; Owner: postgres | ||
323 | --- | ||
324 | - | ||
325 | -CREATE TABLE "filestore" ( | ||
326 | - file_id integer DEFAULT nextval('filestore_seq'::text) PRIMARY KEY, | ||
327 | - user_id integer NOT NULL | ||
328 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
329 | - context varchar(32) NOT NULL, | ||
330 | - filename varchar(128) NOT NULL, | ||
331 | - mtime integer NOT NULL, | ||
332 | - data text NOT NULL, | ||
333 | - CONSTRAINT filestore_user_id_filename UNIQUE (user_id, context, filename) | ||
334 | -); | ||
335 | - | ||
336 | --- | ||
337 | --- Table "system" | ||
338 | --- Name: system; Type: TABLE; Schema: public; Owner: postgres | ||
339 | --- | ||
340 | - | ||
341 | -CREATE TABLE "system" ( | ||
342 | - name varchar(64) NOT NULL PRIMARY KEY, | ||
343 | - value text | ||
344 | -); | ||
345 | - | ||
346 | -INSERT INTO "system" (name, value) VALUES ('roundcube-version', '2020122900'); |
SQL/postgres/2008030300.sql
已删除
100644 → 0
1 | --- Updates from version 0.1-stable to 0.1.1 | ||
2 | - | ||
3 | -CREATE INDEX cache_user_id_idx ON cache (user_id, cache_key); | ||
4 | -CREATE INDEX contacts_user_id_idx ON contacts (user_id); | ||
5 | -CREATE INDEX identities_user_id_idx ON identities (user_id); | ||
6 | - | ||
7 | -CREATE INDEX users_username_id_idx ON users (username); | ||
8 | -CREATE INDEX users_alias_id_idx ON users (alias); | ||
9 | - | ||
10 | --- added ON DELETE/UPDATE actions | ||
11 | -ALTER TABLE messages DROP CONSTRAINT messages_user_id_fkey; | ||
12 | -ALTER TABLE messages ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE; | ||
13 | -ALTER TABLE identities DROP CONSTRAINT identities_user_id_fkey; | ||
14 | -ALTER TABLE identities ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE; | ||
15 | -ALTER TABLE contacts DROP CONSTRAINT contacts_user_id_fkey; | ||
16 | -ALTER TABLE contacts ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE; | ||
17 | -ALTER TABLE cache DROP CONSTRAINT cache_user_id_fkey; |
SQL/postgres/2008060900.sql
已删除
100644 → 0
SQL/postgres/2008092100.sql
已删除
100644 → 0
1 | --- Updates from version 0.2-beta | ||
2 | - | ||
3 | -ALTER TABLE cache DROP session_id; | ||
4 | - | ||
5 | -CREATE INDEX session_changed_idx ON session (changed); | ||
6 | -CREATE INDEX cache_created_idx ON "cache" (created); | ||
7 | - | ||
8 | -ALTER TABLE users ALTER "language" DROP NOT NULL; | ||
9 | -ALTER TABLE users ALTER "language" DROP DEFAULT; | ||
10 | - | ||
11 | -ALTER TABLE identities ALTER del TYPE smallint; | ||
12 | -ALTER TABLE identities ALTER standard TYPE smallint; | ||
13 | -ALTER TABLE contacts ALTER del TYPE smallint; | ||
14 | -ALTER TABLE messages ALTER del TYPE smallint; |
SQL/postgres/2009090400.sql
已删除
100644 → 0
SQL/postgres/2009103100.sql
已删除
100644 → 0
1 | --- Updates from version 0.3.1 | ||
2 | - | ||
3 | -DROP INDEX identities_user_id_idx; | ||
4 | -CREATE INDEX identities_user_id_idx ON identities (user_id, del); | ||
5 | - | ||
6 | -ALTER TABLE identities ADD changed timestamp with time zone DEFAULT now() NOT NULL; | ||
7 | - | ||
8 | -CREATE SEQUENCE contactgroups_ids | ||
9 | - INCREMENT BY 1 | ||
10 | - NO MAXVALUE | ||
11 | - NO MINVALUE | ||
12 | - CACHE 1; | ||
13 | - | ||
14 | -CREATE TABLE contactgroups ( | ||
15 | - contactgroup_id integer DEFAULT nextval('contactgroups_ids'::text) PRIMARY KEY, | ||
16 | - user_id integer NOT NULL | ||
17 | - REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
18 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
19 | - del smallint NOT NULL DEFAULT 0, | ||
20 | - name varchar(128) NOT NULL DEFAULT '' | ||
21 | -); | ||
22 | - | ||
23 | -CREATE INDEX contactgroups_user_id_idx ON contactgroups (user_id, del); | ||
24 | - | ||
25 | -CREATE TABLE contactgroupmembers ( | ||
26 | - contactgroup_id integer NOT NULL | ||
27 | - REFERENCES contactgroups(contactgroup_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
28 | - contact_id integer NOT NULL | ||
29 | - REFERENCES contacts(contact_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
30 | - created timestamp with time zone DEFAULT now() NOT NULL, | ||
31 | - PRIMARY KEY (contactgroup_id, contact_id) | ||
32 | -); |
SQL/postgres/2010042300.sql
已删除
100644 → 0
SQL/postgres/2010100600.sql
已删除
100644 → 0
SQL/postgres/2011011200.sql
已删除
100644 → 0
SQL/postgres/2011092800.sql
已删除
100644 → 0
1 | --- Updates from version 0.6 | ||
2 | - | ||
3 | -CREATE TABLE dictionary ( | ||
4 | - user_id integer DEFAULT NULL | ||
5 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
6 | - "language" varchar(5) NOT NULL, | ||
7 | - data text NOT NULL, | ||
8 | - CONSTRAINT dictionary_user_id_language_key UNIQUE (user_id, "language") | ||
9 | -); | ||
10 | - | ||
11 | -CREATE SEQUENCE search_ids | ||
12 | - INCREMENT BY 1 | ||
13 | - NO MAXVALUE | ||
14 | - NO MINVALUE | ||
15 | - CACHE 1; | ||
16 | - | ||
17 | -CREATE TABLE searches ( | ||
18 | - search_id integer DEFAULT nextval('search_ids'::text) PRIMARY KEY, | ||
19 | - user_id integer NOT NULL | ||
20 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
21 | - "type" smallint DEFAULT 0 NOT NULL, | ||
22 | - name varchar(128) NOT NULL, | ||
23 | - data text NOT NULL, | ||
24 | - CONSTRAINT searches_user_id_key UNIQUE (user_id, "type", name) | ||
25 | -); | ||
26 | - | ||
27 | -DROP SEQUENCE message_ids; | ||
28 | -DROP TABLE messages; | ||
29 | - | ||
30 | -CREATE TABLE cache_index ( | ||
31 | - user_id integer NOT NULL | ||
32 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
33 | - mailbox varchar(255) NOT NULL, | ||
34 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
35 | - valid smallint NOT NULL DEFAULT 0, | ||
36 | - data text NOT NULL, | ||
37 | - PRIMARY KEY (user_id, mailbox) | ||
38 | -); | ||
39 | - | ||
40 | -CREATE INDEX cache_index_changed_idx ON cache_index (changed); | ||
41 | - | ||
42 | -CREATE TABLE cache_thread ( | ||
43 | - user_id integer NOT NULL | ||
44 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
45 | - mailbox varchar(255) NOT NULL, | ||
46 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
47 | - data text NOT NULL, | ||
48 | - PRIMARY KEY (user_id, mailbox) | ||
49 | -); | ||
50 | - | ||
51 | -CREATE INDEX cache_thread_changed_idx ON cache_thread (changed); | ||
52 | - | ||
53 | -CREATE TABLE cache_messages ( | ||
54 | - user_id integer NOT NULL | ||
55 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
56 | - mailbox varchar(255) NOT NULL, | ||
57 | - uid integer NOT NULL, | ||
58 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
59 | - data text NOT NULL, | ||
60 | - flags integer NOT NULL DEFAULT 0, | ||
61 | - PRIMARY KEY (user_id, mailbox, uid) | ||
62 | -); | ||
63 | - | ||
64 | -CREATE INDEX cache_messages_changed_idx ON cache_messages (changed); |
SQL/postgres/2011111600.sql
已删除
100644 → 0
SQL/postgres/2011121400.sql
已删除
100644 → 0
SQL/postgres/2012080700.sql
已删除
100644 → 0
SQL/postgres/2013011000.sql
已删除
100644 → 0
SQL/postgres/2013042700.sql
已删除
100644 → 0
1 | -ALTER SEQUENCE user_ids RENAME TO users_seq; | ||
2 | -ALTER TABLE users ALTER COLUMN user_id SET DEFAULT nextval('users_seq'::text); | ||
3 | - | ||
4 | -ALTER SEQUENCE identity_ids RENAME TO identities_seq; | ||
5 | -ALTER TABLE identities ALTER COLUMN identity_id SET DEFAULT nextval('identities_seq'::text); | ||
6 | - | ||
7 | -ALTER SEQUENCE contact_ids RENAME TO contacts_seq; | ||
8 | -ALTER TABLE contacts ALTER COLUMN contact_id SET DEFAULT nextval('contacts_seq'::text); | ||
9 | - | ||
10 | -ALTER SEQUENCE contactgroups_ids RENAME TO contactgroups_seq; | ||
11 | -ALTER TABLE contactgroups ALTER COLUMN contactgroup_id SET DEFAULT nextval('contactgroups_seq'::text); | ||
12 | - | ||
13 | -ALTER SEQUENCE search_ids RENAME TO searches_seq; | ||
14 | -ALTER TABLE searches ALTER COLUMN search_id SET DEFAULT nextval('searches_seq'::text); |
SQL/postgres/2013052500.sql
已删除
100644 → 0
1 | -CREATE TABLE "cache_shared" ( | ||
2 | - cache_key varchar(255) NOT NULL, | ||
3 | - created timestamp with time zone DEFAULT now() NOT NULL, | ||
4 | - data text NOT NULL | ||
5 | -); | ||
6 | - | ||
7 | -CREATE INDEX cache_shared_cache_key_idx ON "cache_shared" (cache_key); | ||
8 | -CREATE INDEX cache_shared_created_idx ON "cache_shared" (created); |
SQL/postgres/2013061000.sql
已删除
100644 → 0
1 | -ALTER TABLE "cache" ADD expires timestamp with time zone DEFAULT NULL; | ||
2 | -ALTER TABLE "cache_shared" ADD expires timestamp with time zone DEFAULT NULL; | ||
3 | -ALTER TABLE "cache_index" ADD expires timestamp with time zone DEFAULT NULL; | ||
4 | -ALTER TABLE "cache_thread" ADD expires timestamp with time zone DEFAULT NULL; | ||
5 | -ALTER TABLE "cache_messages" ADD expires timestamp with time zone DEFAULT NULL; | ||
6 | - | ||
7 | --- initialize expires column with created/changed date + 7days | ||
8 | -UPDATE "cache" SET expires = created + interval '604800 seconds'; | ||
9 | -UPDATE "cache_shared" SET expires = created + interval '604800 seconds'; | ||
10 | -UPDATE "cache_index" SET expires = changed + interval '604800 seconds'; | ||
11 | -UPDATE "cache_thread" SET expires = changed + interval '604800 seconds'; | ||
12 | -UPDATE "cache_messages" SET expires = changed + interval '604800 seconds'; | ||
13 | - | ||
14 | -DROP INDEX cache_created_idx; | ||
15 | -DROP INDEX cache_shared_created_idx; | ||
16 | -ALTER TABLE "cache_index" DROP "changed"; | ||
17 | -ALTER TABLE "cache_thread" DROP "changed"; | ||
18 | -ALTER TABLE "cache_messages" DROP "changed"; | ||
19 | - | ||
20 | -CREATE INDEX cache_expires_idx ON "cache" (expires); | ||
21 | -CREATE INDEX cache_shared_expires_idx ON "cache_shared" (expires); | ||
22 | -CREATE INDEX cache_index_expires_idx ON "cache_index" (expires); | ||
23 | -CREATE INDEX cache_thread_expires_idx ON "cache_thread" (expires); | ||
24 | -CREATE INDEX cache_messages_expires_idx ON "cache_messages" (expires); |
SQL/postgres/2014042900.sql
已删除
100644 → 0
1 | --- empty |
SQL/postgres/2015030800.sql
已删除
100644 → 0
1 | --- empty |
SQL/postgres/2015111100.sql
已删除
100644 → 0
SQL/postgres/2016081200.sql
已删除
100644 → 0
1 | -ALTER TABLE "session" DROP COLUMN created; |
SQL/postgres/2016100900.sql
已删除
100644 → 0
1 | -ALTER TABLE session ALTER COLUMN ip TYPE character varying(41); |
SQL/postgres/2016112200.sql
已删除
100644 → 0
1 | -DROP TABLE "cache"; | ||
2 | -DROP TABLE "cache_shared"; | ||
3 | - | ||
4 | -CREATE TABLE "cache" ( | ||
5 | - user_id integer NOT NULL | ||
6 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
7 | - cache_key varchar(128) DEFAULT '' NOT NULL, | ||
8 | - expires timestamp with time zone DEFAULT NULL, | ||
9 | - data text NOT NULL, | ||
10 | - PRIMARY KEY (user_id, cache_key) | ||
11 | -); | ||
12 | - | ||
13 | -CREATE INDEX cache_expires_idx ON "cache" (expires); | ||
14 | - | ||
15 | -CREATE TABLE "cache_shared" ( | ||
16 | - cache_key varchar(255) NOT NULL PRIMARY KEY, | ||
17 | - expires timestamp with time zone DEFAULT NULL, | ||
18 | - data text NOT NULL | ||
19 | -); | ||
20 | - | ||
21 | -CREATE INDEX cache_shared_expires_idx ON "cache_shared" (expires); |
SQL/postgres/2018021600.sql
已删除
100644 → 0
1 | -CREATE SEQUENCE "filestore_seq" | ||
2 | - INCREMENT BY 1 | ||
3 | - NO MAXVALUE | ||
4 | - NO MINVALUE | ||
5 | - CACHE 1; | ||
6 | - | ||
7 | -CREATE TABLE "filestore" ( | ||
8 | - file_id integer DEFAULT nextval('filestore_seq'::text) PRIMARY KEY, | ||
9 | - user_id integer NOT NULL | ||
10 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
11 | - filename varchar(128) NOT NULL, | ||
12 | - mtime integer NOT NULL, | ||
13 | - data text NOT NULL, | ||
14 | - CONSTRAINT filestore_user_id_filename UNIQUE (user_id, filename) | ||
15 | -); |
SQL/postgres/2018122300.sql
已删除
100644 → 0
1 | -ALTER TABLE "filestore" ADD COLUMN context varchar(32) NOT NULL; | ||
2 | -UPDATE "filestore" SET context = 'enigma'; | ||
3 | -ALTER TABLE "filestore" DROP CONSTRAINT "filestore_user_id_filename"; | ||
4 | -ALTER TABLE "filestore" ADD CONSTRAINT "filestore_user_id_context_filename" UNIQUE (user_id, context, filename); |
SQL/postgres/2019092900.sql
已删除
100644 → 0
1 | --- empty |
SQL/postgres/2020020100.sql
已删除
100644 → 0
SQL/postgres/2020020101.sql
已删除
100644 → 0
1 | --- empty |
SQL/postgres/2020091000.sql
已删除
100644 → 0
1 | -CREATE SEQUENCE collected_addresses_seq | ||
2 | - START WITH 1 | ||
3 | - INCREMENT BY 1 | ||
4 | - NO MAXVALUE | ||
5 | - NO MINVALUE | ||
6 | - CACHE 1; | ||
7 | - | ||
8 | -CREATE TABLE collected_addresses ( | ||
9 | - address_id integer DEFAULT nextval('collected_addresses_seq'::text) PRIMARY KEY, | ||
10 | - user_id integer NOT NULL | ||
11 | - REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, | ||
12 | - changed timestamp with time zone DEFAULT now() NOT NULL, | ||
13 | - name varchar(255) DEFAULT '' NOT NULL, | ||
14 | - email varchar(255) NOT NULL, | ||
15 | - "type" integer NOT NULL | ||
16 | -); | ||
17 | - | ||
18 | -CREATE UNIQUE INDEX collected_addresses_user_id_idx ON collected_addresses (user_id, "type", email); |
SQL/postgres/2020122900.sql
已删除
100644 → 0
SQL/sqlite.initial.sql
已删除
100644 → 0
1 | --- Roundcube Webmail initial database structure | ||
2 | - | ||
3 | --- | ||
4 | --- Table structure for table contacts and related | ||
5 | --- | ||
6 | - | ||
7 | -CREATE TABLE contacts ( | ||
8 | - contact_id integer NOT NULL PRIMARY KEY, | ||
9 | - user_id integer NOT NULL, | ||
10 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
11 | - del tinyint NOT NULL default '0', | ||
12 | - name varchar(128) NOT NULL default '', | ||
13 | - email text NOT NULL default '', | ||
14 | - firstname varchar(128) NOT NULL default '', | ||
15 | - surname varchar(128) NOT NULL default '', | ||
16 | - vcard text NOT NULL default '', | ||
17 | - words text NOT NULL default '' | ||
18 | -); | ||
19 | - | ||
20 | -CREATE INDEX ix_contacts_user_id ON contacts(user_id, del); | ||
21 | - | ||
22 | - | ||
23 | -CREATE TABLE contactgroups ( | ||
24 | - contactgroup_id integer NOT NULL PRIMARY KEY, | ||
25 | - user_id integer NOT NULL default '0', | ||
26 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
27 | - del tinyint NOT NULL default '0', | ||
28 | - name varchar(128) NOT NULL default '' | ||
29 | -); | ||
30 | - | ||
31 | -CREATE INDEX ix_contactgroups_user_id ON contactgroups(user_id, del); | ||
32 | - | ||
33 | - | ||
34 | -CREATE TABLE contactgroupmembers ( | ||
35 | - contactgroup_id integer NOT NULL, | ||
36 | - contact_id integer NOT NULL default '0', | ||
37 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
38 | - PRIMARY KEY (contactgroup_id, contact_id) | ||
39 | -); | ||
40 | - | ||
41 | -CREATE INDEX ix_contactgroupmembers_contact_id ON contactgroupmembers (contact_id); | ||
42 | - | ||
43 | --- | ||
44 | --- Table structure for table collected_addresses | ||
45 | --- | ||
46 | - | ||
47 | -CREATE TABLE collected_addresses ( | ||
48 | - address_id integer NOT NULL PRIMARY KEY, | ||
49 | - user_id integer NOT NULL, | ||
50 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
51 | - name varchar(255) NOT NULL default '', | ||
52 | - email varchar(255) NOT NULL, | ||
53 | - "type" integer NOT NULL | ||
54 | -); | ||
55 | - | ||
56 | -CREATE UNIQUE INDEX ix_collected_addresses_user_id ON collected_addresses(user_id, "type", email); | ||
57 | - | ||
58 | --- | ||
59 | --- Table structure for table identities | ||
60 | --- | ||
61 | - | ||
62 | -CREATE TABLE identities ( | ||
63 | - identity_id integer NOT NULL PRIMARY KEY, | ||
64 | - user_id integer NOT NULL default '0', | ||
65 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
66 | - del tinyint NOT NULL default '0', | ||
67 | - standard tinyint NOT NULL default '0', | ||
68 | - name varchar(128) NOT NULL default '', | ||
69 | - organization varchar(128) default '', | ||
70 | - email varchar(128) NOT NULL default '', | ||
71 | - "reply-to" varchar(128) NOT NULL default '', | ||
72 | - bcc varchar(128) NOT NULL default '', | ||
73 | - signature text NOT NULL default '', | ||
74 | - html_signature tinyint NOT NULL default '0' | ||
75 | -); | ||
76 | - | ||
77 | -CREATE INDEX ix_identities_user_id ON identities(user_id, del); | ||
78 | -CREATE INDEX ix_identities_email ON identities(email, del); | ||
79 | - | ||
80 | --- | ||
81 | --- Table structure for table users | ||
82 | --- | ||
83 | - | ||
84 | -CREATE TABLE users ( | ||
85 | - user_id integer NOT NULL PRIMARY KEY, | ||
86 | - username varchar(128) NOT NULL default '', | ||
87 | - mail_host varchar(128) NOT NULL default '', | ||
88 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
89 | - last_login datetime DEFAULT NULL, | ||
90 | - failed_login datetime DEFAULT NULL, | ||
91 | - failed_login_counter integer DEFAULT NULL, | ||
92 | - language varchar(16), | ||
93 | - preferences text DEFAULT NULL | ||
94 | -); | ||
95 | - | ||
96 | -CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); | ||
97 | - | ||
98 | --- | ||
99 | --- Table structure for table session | ||
100 | --- | ||
101 | - | ||
102 | -CREATE TABLE session ( | ||
103 | - sess_id varchar(128) NOT NULL PRIMARY KEY, | ||
104 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
105 | - ip varchar(40) NOT NULL default '', | ||
106 | - vars text NOT NULL | ||
107 | -); | ||
108 | - | ||
109 | -CREATE INDEX ix_session_changed ON session (changed); | ||
110 | - | ||
111 | --- | ||
112 | --- Table structure for table dictionary | ||
113 | --- | ||
114 | - | ||
115 | -CREATE TABLE dictionary ( | ||
116 | - user_id integer DEFAULT NULL, | ||
117 | - language varchar(16) NOT NULL, | ||
118 | - data text NOT NULL | ||
119 | -); | ||
120 | - | ||
121 | -CREATE UNIQUE INDEX ix_dictionary_user_language ON dictionary (user_id, language); | ||
122 | - | ||
123 | --- | ||
124 | --- Table structure for table searches | ||
125 | --- | ||
126 | - | ||
127 | -CREATE TABLE searches ( | ||
128 | - search_id integer NOT NULL PRIMARY KEY, | ||
129 | - user_id integer NOT NULL DEFAULT '0', | ||
130 | - "type" smallint NOT NULL DEFAULT '0', | ||
131 | - name varchar(128) NOT NULL, | ||
132 | - data text NOT NULL | ||
133 | -); | ||
134 | - | ||
135 | -CREATE UNIQUE INDEX ix_searches_user_type_name ON searches (user_id, type, name); | ||
136 | - | ||
137 | --- | ||
138 | --- Table structure for table cache | ||
139 | --- | ||
140 | - | ||
141 | -CREATE TABLE cache ( | ||
142 | - user_id integer NOT NULL default 0, | ||
143 | - cache_key varchar(128) NOT NULL default '', | ||
144 | - expires datetime DEFAULT NULL, | ||
145 | - data text NOT NULL, | ||
146 | - PRIMARY KEY (user_id, cache_key) | ||
147 | -); | ||
148 | - | ||
149 | -CREATE INDEX ix_cache_expires ON cache(expires); | ||
150 | - | ||
151 | --- | ||
152 | --- Table structure for table cache_shared | ||
153 | --- | ||
154 | - | ||
155 | -CREATE TABLE cache_shared ( | ||
156 | - cache_key varchar(255) NOT NULL, | ||
157 | - expires datetime DEFAULT NULL, | ||
158 | - data text NOT NULL, | ||
159 | - PRIMARY KEY (cache_key) | ||
160 | -); | ||
161 | - | ||
162 | -CREATE INDEX ix_cache_shared_expires ON cache_shared(expires); | ||
163 | - | ||
164 | --- | ||
165 | --- Table structure for table cache_index | ||
166 | --- | ||
167 | - | ||
168 | -CREATE TABLE cache_index ( | ||
169 | - user_id integer NOT NULL, | ||
170 | - mailbox varchar(255) NOT NULL, | ||
171 | - expires datetime DEFAULT NULL, | ||
172 | - valid smallint NOT NULL DEFAULT '0', | ||
173 | - data text NOT NULL, | ||
174 | - PRIMARY KEY (user_id, mailbox) | ||
175 | -); | ||
176 | - | ||
177 | -CREATE INDEX ix_cache_index_expires ON cache_index (expires); | ||
178 | - | ||
179 | --- | ||
180 | --- Table structure for table cache_thread | ||
181 | --- | ||
182 | - | ||
183 | -CREATE TABLE cache_thread ( | ||
184 | - user_id integer NOT NULL, | ||
185 | - mailbox varchar(255) NOT NULL, | ||
186 | - expires datetime DEFAULT NULL, | ||
187 | - data text NOT NULL, | ||
188 | - PRIMARY KEY (user_id, mailbox) | ||
189 | -); | ||
190 | - | ||
191 | -CREATE INDEX ix_cache_thread_expires ON cache_thread (expires); | ||
192 | - | ||
193 | --- | ||
194 | --- Table structure for table cache_messages | ||
195 | --- | ||
196 | - | ||
197 | -CREATE TABLE cache_messages ( | ||
198 | - user_id integer NOT NULL, | ||
199 | - mailbox varchar(255) NOT NULL, | ||
200 | - uid integer NOT NULL, | ||
201 | - expires datetime DEFAULT NULL, | ||
202 | - data text NOT NULL, | ||
203 | - flags integer NOT NULL DEFAULT '0', | ||
204 | - PRIMARY KEY (user_id, mailbox, uid) | ||
205 | -); | ||
206 | - | ||
207 | -CREATE INDEX ix_cache_messages_expires ON cache_messages (expires); | ||
208 | - | ||
209 | --- | ||
210 | --- Table structure for table filestore | ||
211 | --- | ||
212 | - | ||
213 | -CREATE TABLE filestore ( | ||
214 | - file_id integer NOT NULL PRIMARY KEY, | ||
215 | - user_id integer NOT NULL, | ||
216 | - context varchar(32) NOT NULL, | ||
217 | - filename varchar(128) NOT NULL, | ||
218 | - mtime integer NOT NULL, | ||
219 | - data text NOT NULL | ||
220 | -); | ||
221 | - | ||
222 | -CREATE UNIQUE INDEX ix_filestore_user_id ON filestore(user_id, context, filename); | ||
223 | - | ||
224 | --- | ||
225 | --- Table structure for table system | ||
226 | --- | ||
227 | - | ||
228 | -CREATE TABLE system ( | ||
229 | - name varchar(64) NOT NULL PRIMARY KEY, | ||
230 | - value text NOT NULL | ||
231 | -); | ||
232 | - | ||
233 | -INSERT INTO system (name, value) VALUES ('roundcube-version', '2020122900'); |
SQL/sqlite/2008030300.sql
已删除
100644 → 0
1 | --- Updates from version 0.1-stable to 0.1.1 | ||
2 | - | ||
3 | -DROP TABLE messages; | ||
4 | - | ||
5 | -CREATE TABLE messages ( | ||
6 | - message_id integer NOT NULL PRIMARY KEY, | ||
7 | - user_id integer NOT NULL default '0', | ||
8 | - del tinyint NOT NULL default '0', | ||
9 | - cache_key varchar(128) NOT NULL default '', | ||
10 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
11 | - idx integer NOT NULL default '0', | ||
12 | - uid integer NOT NULL default '0', | ||
13 | - subject varchar(255) NOT NULL default '', | ||
14 | - "from" varchar(255) NOT NULL default '', | ||
15 | - "to" varchar(255) NOT NULL default '', | ||
16 | - "cc" varchar(255) NOT NULL default '', | ||
17 | - "date" datetime NOT NULL default '0000-00-00 00:00:00', | ||
18 | - size integer NOT NULL default '0', | ||
19 | - headers text NOT NULL, | ||
20 | - structure text | ||
21 | -); | ||
22 | - | ||
23 | -CREATE INDEX ix_messages_user_cache_uid ON messages(user_id,cache_key,uid); | ||
24 | -CREATE INDEX ix_users_username ON users(username); | ||
25 | -CREATE INDEX ix_users_alias ON users(alias); |
SQL/sqlite/2008060900.sql
已删除
100644 → 0
SQL/sqlite/2008092100.sql
已删除
100644 → 0
SQL/sqlite/2009090400.sql
已删除
100644 → 0
1 | --- Updates from version 0.3-stable | ||
2 | - | ||
3 | -DELETE FROM messages; | ||
4 | -DROP INDEX ix_messages_user_cache_uid; | ||
5 | -CREATE UNIQUE INDEX ix_messages_user_cache_uid ON messages (user_id,cache_key,uid); | ||
6 | -CREATE INDEX ix_messages_index ON messages (user_id,cache_key,idx); | ||
7 | -DROP INDEX ix_contacts_user_id; | ||
8 | -CREATE INDEX ix_contacts_user_id ON contacts(user_id, email); |
SQL/sqlite/2009103100.sql
已删除
100644 → 0
1 | --- Updates from version 0.3.1 | ||
2 | - | ||
3 | --- ALTER TABLE identities ADD COLUMN changed datetime NOT NULL default '0000-00-00 00:00:00'; -- | ||
4 | - | ||
5 | -CREATE TABLE temp_identities ( | ||
6 | - identity_id integer NOT NULL PRIMARY KEY, | ||
7 | - user_id integer NOT NULL default '0', | ||
8 | - standard tinyint NOT NULL default '0', | ||
9 | - name varchar(128) NOT NULL default '', | ||
10 | - organization varchar(128) default '', | ||
11 | - email varchar(128) NOT NULL default '', | ||
12 | - "reply-to" varchar(128) NOT NULL default '', | ||
13 | - bcc varchar(128) NOT NULL default '', | ||
14 | - signature text NOT NULL default '', | ||
15 | - html_signature tinyint NOT NULL default '0' | ||
16 | -); | ||
17 | -INSERT INTO temp_identities (identity_id, user_id, standard, name, organization, email, "reply-to", bcc, signature, html_signature) | ||
18 | - SELECT identity_id, user_id, standard, name, organization, email, "reply-to", bcc, signature, html_signature | ||
19 | - FROM identities WHERE del=0; | ||
20 | - | ||
21 | -DROP INDEX ix_identities_user_id; | ||
22 | -DROP TABLE identities; | ||
23 | - | ||
24 | -CREATE TABLE identities ( | ||
25 | - identity_id integer NOT NULL PRIMARY KEY, | ||
26 | - user_id integer NOT NULL default '0', | ||
27 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
28 | - del tinyint NOT NULL default '0', | ||
29 | - standard tinyint NOT NULL default '0', | ||
30 | - name varchar(128) NOT NULL default '', | ||
31 | - organization varchar(128) default '', | ||
32 | - email varchar(128) NOT NULL default '', | ||
33 | - "reply-to" varchar(128) NOT NULL default '', | ||
34 | - bcc varchar(128) NOT NULL default '', | ||
35 | - signature text NOT NULL default '', | ||
36 | - html_signature tinyint NOT NULL default '0' | ||
37 | -); | ||
38 | -CREATE INDEX ix_identities_user_id ON identities(user_id, del); | ||
39 | - | ||
40 | -INSERT INTO identities (identity_id, user_id, standard, name, organization, email, "reply-to", bcc, signature, html_signature) | ||
41 | - SELECT identity_id, user_id, standard, name, organization, email, "reply-to", bcc, signature, html_signature | ||
42 | - FROM temp_identities; | ||
43 | - | ||
44 | -DROP TABLE temp_identities; | ||
45 | - | ||
46 | -CREATE TABLE contactgroups ( | ||
47 | - contactgroup_id integer NOT NULL PRIMARY KEY, | ||
48 | - user_id integer NOT NULL default '0', | ||
49 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
50 | - del tinyint NOT NULL default '0', | ||
51 | - name varchar(128) NOT NULL default '' | ||
52 | -); | ||
53 | - | ||
54 | -CREATE INDEX ix_contactgroups_user_id ON contactgroups(user_id, del); | ||
55 | - | ||
56 | -CREATE TABLE contactgroupmembers ( | ||
57 | - contactgroup_id integer NOT NULL, | ||
58 | - contact_id integer NOT NULL default '0', | ||
59 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
60 | - PRIMARY KEY (contactgroup_id, contact_id) | ||
61 | -); |
SQL/sqlite/2010042300.sql
已删除
100644 → 0
1 | --- Updates from version 0.4-beta | ||
2 | - | ||
3 | -CREATE TABLE tmp_users ( | ||
4 | - user_id integer NOT NULL PRIMARY KEY, | ||
5 | - username varchar(128) NOT NULL default '', | ||
6 | - mail_host varchar(128) NOT NULL default '', | ||
7 | - alias varchar(128) NOT NULL default '', | ||
8 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
9 | - last_login datetime NOT NULL default '0000-00-00 00:00:00', | ||
10 | - language varchar(5), | ||
11 | - preferences text NOT NULL default '' | ||
12 | -); | ||
13 | - | ||
14 | -INSERT INTO tmp_users (user_id, username, mail_host, alias, created, last_login, language, preferences) | ||
15 | - SELECT user_id, username, mail_host, alias, created, last_login, language, preferences FROM users; | ||
16 | - | ||
17 | -DROP TABLE users; | ||
18 | - | ||
19 | -CREATE TABLE users ( | ||
20 | - user_id integer NOT NULL PRIMARY KEY, | ||
21 | - username varchar(128) NOT NULL default '', | ||
22 | - mail_host varchar(128) NOT NULL default '', | ||
23 | - alias varchar(128) NOT NULL default '', | ||
24 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
25 | - last_login datetime DEFAULT NULL, | ||
26 | - language varchar(5), | ||
27 | - preferences text NOT NULL default '' | ||
28 | -); | ||
29 | - | ||
30 | -INSERT INTO users (user_id, username, mail_host, alias, created, last_login, language, preferences) | ||
31 | - SELECT user_id, username, mail_host, alias, created, last_login, language, preferences FROM tmp_users; | ||
32 | - | ||
33 | -CREATE INDEX ix_users_username ON users(username); | ||
34 | -CREATE INDEX ix_users_alias ON users(alias); | ||
35 | -DROP TABLE tmp_users; |
SQL/sqlite/2010100600.sql
已删除
100644 → 0
1 | --- Updates from version 0.4.2 | ||
2 | - | ||
3 | -DROP INDEX ix_users_username; | ||
4 | -CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); | ||
5 | - | ||
6 | -CREATE TABLE contacts_tmp ( | ||
7 | - contact_id integer NOT NULL PRIMARY KEY, | ||
8 | - user_id integer NOT NULL default '0', | ||
9 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
10 | - del tinyint NOT NULL default '0', | ||
11 | - name varchar(128) NOT NULL default '', | ||
12 | - email varchar(255) NOT NULL default '', | ||
13 | - firstname varchar(128) NOT NULL default '', | ||
14 | - surname varchar(128) NOT NULL default '', | ||
15 | - vcard text NOT NULL default '' | ||
16 | -); | ||
17 | - | ||
18 | -INSERT INTO contacts_tmp (contact_id, user_id, changed, del, name, email, firstname, surname, vcard) | ||
19 | - SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard FROM contacts; | ||
20 | - | ||
21 | -DROP TABLE contacts; | ||
22 | -CREATE TABLE contacts ( | ||
23 | - contact_id integer NOT NULL PRIMARY KEY, | ||
24 | - user_id integer NOT NULL default '0', | ||
25 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
26 | - del tinyint NOT NULL default '0', | ||
27 | - name varchar(128) NOT NULL default '', | ||
28 | - email varchar(255) NOT NULL default '', | ||
29 | - firstname varchar(128) NOT NULL default '', | ||
30 | - surname varchar(128) NOT NULL default '', | ||
31 | - vcard text NOT NULL default '' | ||
32 | -); | ||
33 | - | ||
34 | -INSERT INTO contacts (contact_id, user_id, changed, del, name, email, firstname, surname, vcard) | ||
35 | - SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard FROM contacts_tmp; | ||
36 | - | ||
37 | -CREATE INDEX ix_contacts_user_id ON contacts(user_id, email); | ||
38 | -DROP TABLE contacts_tmp; | ||
39 | - | ||
40 | -DELETE FROM messages; |
SQL/sqlite/2011011200.sql
已删除
100644 → 0
1 | --- Updates from version 0.5.x | ||
2 | - | ||
3 | -CREATE TABLE contacts_tmp ( | ||
4 | - contact_id integer NOT NULL PRIMARY KEY, | ||
5 | - user_id integer NOT NULL default '0', | ||
6 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
7 | - del tinyint NOT NULL default '0', | ||
8 | - name varchar(128) NOT NULL default '', | ||
9 | - email varchar(255) NOT NULL default '', | ||
10 | - firstname varchar(128) NOT NULL default '', | ||
11 | - surname varchar(128) NOT NULL default '', | ||
12 | - vcard text NOT NULL default '' | ||
13 | -); | ||
14 | - | ||
15 | -INSERT INTO contacts_tmp (contact_id, user_id, changed, del, name, email, firstname, surname, vcard) | ||
16 | - SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard FROM contacts; | ||
17 | - | ||
18 | -DROP TABLE contacts; | ||
19 | -CREATE TABLE contacts ( | ||
20 | - contact_id integer NOT NULL PRIMARY KEY, | ||
21 | - user_id integer NOT NULL default '0', | ||
22 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
23 | - del tinyint NOT NULL default '0', | ||
24 | - name varchar(128) NOT NULL default '', | ||
25 | - email varchar(255) NOT NULL default '', | ||
26 | - firstname varchar(128) NOT NULL default '', | ||
27 | - surname varchar(128) NOT NULL default '', | ||
28 | - vcard text NOT NULL default '', | ||
29 | - words text NOT NULL default '' | ||
30 | -); | ||
31 | - | ||
32 | -INSERT INTO contacts (contact_id, user_id, changed, del, name, email, firstname, surname, vcard) | ||
33 | - SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard FROM contacts_tmp; | ||
34 | - | ||
35 | -CREATE INDEX ix_contacts_user_id ON contacts(user_id, email); | ||
36 | -DROP TABLE contacts_tmp; | ||
37 | - | ||
38 | - | ||
39 | -DELETE FROM messages; | ||
40 | -DELETE FROM cache; | ||
41 | -CREATE INDEX ix_contactgroupmembers_contact_id ON contactgroupmembers (contact_id); |
SQL/sqlite/2011092800.sql
已删除
100644 → 0
1 | --- Updates from version 0.6 | ||
2 | - | ||
3 | -CREATE TABLE dictionary ( | ||
4 | - user_id integer DEFAULT NULL, | ||
5 | - "language" varchar(5) NOT NULL, | ||
6 | - data text NOT NULL | ||
7 | -); | ||
8 | - | ||
9 | -CREATE UNIQUE INDEX ix_dictionary_user_language ON dictionary (user_id, "language"); | ||
10 | - | ||
11 | -CREATE TABLE searches ( | ||
12 | - search_id integer NOT NULL PRIMARY KEY, | ||
13 | - user_id integer NOT NULL DEFAULT '0', | ||
14 | - "type" smallint NOT NULL DEFAULT '0', | ||
15 | - name varchar(128) NOT NULL, | ||
16 | - data text NOT NULL | ||
17 | -); | ||
18 | - | ||
19 | -CREATE UNIQUE INDEX ix_searches_user_type_name ON searches (user_id, type, name); | ||
20 | - | ||
21 | -DROP TABLE messages; | ||
22 | - | ||
23 | -CREATE TABLE cache_index ( | ||
24 | - user_id integer NOT NULL, | ||
25 | - mailbox varchar(255) NOT NULL, | ||
26 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
27 | - valid smallint NOT NULL DEFAULT '0', | ||
28 | - data text NOT NULL, | ||
29 | - PRIMARY KEY (user_id, mailbox) | ||
30 | -); | ||
31 | - | ||
32 | -CREATE INDEX ix_cache_index_changed ON cache_index (changed); | ||
33 | - | ||
34 | -CREATE TABLE cache_thread ( | ||
35 | - user_id integer NOT NULL, | ||
36 | - mailbox varchar(255) NOT NULL, | ||
37 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
38 | - data text NOT NULL, | ||
39 | - PRIMARY KEY (user_id, mailbox) | ||
40 | -); | ||
41 | - | ||
42 | -CREATE INDEX ix_cache_thread_changed ON cache_thread (changed); | ||
43 | - | ||
44 | -CREATE TABLE cache_messages ( | ||
45 | - user_id integer NOT NULL, | ||
46 | - mailbox varchar(255) NOT NULL, | ||
47 | - uid integer NOT NULL, | ||
48 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
49 | - data text NOT NULL, | ||
50 | - flags integer NOT NULL DEFAULT '0', | ||
51 | - PRIMARY KEY (user_id, mailbox, uid) | ||
52 | -); | ||
53 | - | ||
54 | -CREATE INDEX ix_cache_messages_changed ON cache_messages (changed); |
SQL/sqlite/2011111600.sql
已删除
100644 → 0
1 | --- Updates from version 0.7-beta | ||
2 | - | ||
3 | -DROP TABLE session; | ||
4 | -CREATE TABLE session ( | ||
5 | - sess_id varchar(128) NOT NULL PRIMARY KEY, | ||
6 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
7 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
8 | - ip varchar(40) NOT NULL default '', | ||
9 | - vars text NOT NULL | ||
10 | -); | ||
11 | -CREATE INDEX ix_session_changed ON session (changed); |
SQL/sqlite/2011121400.sql
已删除
100644 → 0
1 | --- Updates from version 0.7 | ||
2 | - | ||
3 | -CREATE TABLE contacts_tmp ( | ||
4 | - contact_id integer NOT NULL PRIMARY KEY, | ||
5 | - user_id integer NOT NULL, | ||
6 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
7 | - del tinyint NOT NULL default '0', | ||
8 | - name varchar(128) NOT NULL default '', | ||
9 | - email text NOT NULL default '', | ||
10 | - firstname varchar(128) NOT NULL default '', | ||
11 | - surname varchar(128) NOT NULL default '', | ||
12 | - vcard text NOT NULL default '', | ||
13 | - words text NOT NULL default '' | ||
14 | -); | ||
15 | - | ||
16 | -INSERT INTO contacts_tmp (contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words) | ||
17 | - SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words FROM contacts; | ||
18 | - | ||
19 | -DROP TABLE contacts; | ||
20 | - | ||
21 | -CREATE TABLE contacts ( | ||
22 | - contact_id integer NOT NULL PRIMARY KEY, | ||
23 | - user_id integer NOT NULL, | ||
24 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
25 | - del tinyint NOT NULL default '0', | ||
26 | - name varchar(128) NOT NULL default '', | ||
27 | - email text NOT NULL default '', | ||
28 | - firstname varchar(128) NOT NULL default '', | ||
29 | - surname varchar(128) NOT NULL default '', | ||
30 | - vcard text NOT NULL default '', | ||
31 | - words text NOT NULL default '' | ||
32 | -); | ||
33 | - | ||
34 | -INSERT INTO contacts (contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words) | ||
35 | - SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words FROM contacts_tmp; | ||
36 | - | ||
37 | -CREATE INDEX ix_contacts_user_id ON contacts(user_id, del); | ||
38 | -DROP TABLE contacts_tmp; |
SQL/sqlite/2012080700.sql
已删除
100644 → 0
1 | --- Updates from version 0.8 | ||
2 | - | ||
3 | -DROP TABLE cache; | ||
4 | -CREATE TABLE cache ( | ||
5 | - user_id integer NOT NULL default 0, | ||
6 | - cache_key varchar(128) NOT NULL default '', | ||
7 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
8 | - data text NOT NULL | ||
9 | -); | ||
10 | - | ||
11 | -CREATE INDEX ix_cache_user_cache_key ON cache(user_id, cache_key); | ||
12 | -CREATE INDEX ix_cache_created ON cache(created); | ||
13 | - | ||
14 | -CREATE TABLE tmp_users ( | ||
15 | - user_id integer NOT NULL PRIMARY KEY, | ||
16 | - username varchar(128) NOT NULL default '', | ||
17 | - mail_host varchar(128) NOT NULL default '', | ||
18 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
19 | - last_login datetime DEFAULT NULL, | ||
20 | - language varchar(5), | ||
21 | - preferences text NOT NULL default '' | ||
22 | -); | ||
23 | - | ||
24 | -INSERT INTO tmp_users (user_id, username, mail_host, created, last_login, language, preferences) | ||
25 | - SELECT user_id, username, mail_host, created, last_login, language, preferences FROM users; | ||
26 | - | ||
27 | -DROP TABLE users; | ||
28 | - | ||
29 | -CREATE TABLE users ( | ||
30 | - user_id integer NOT NULL PRIMARY KEY, | ||
31 | - username varchar(128) NOT NULL default '', | ||
32 | - mail_host varchar(128) NOT NULL default '', | ||
33 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
34 | - last_login datetime DEFAULT NULL, | ||
35 | - language varchar(5), | ||
36 | - preferences text NOT NULL default '' | ||
37 | -); | ||
38 | - | ||
39 | -INSERT INTO users (user_id, username, mail_host, created, last_login, language, preferences) | ||
40 | - SELECT user_id, username, mail_host, created, last_login, language, preferences FROM tmp_users; | ||
41 | - | ||
42 | -CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); | ||
43 | - | ||
44 | -CREATE INDEX ix_identities_email ON identities(email, del); |
SQL/sqlite/2013011000.sql
已删除
100644 → 0
SQL/sqlite/2013011700.sql
已删除
100644 → 0
SQL/sqlite/2013042700.sql
已删除
100644 → 0
1 | --- empty |
SQL/sqlite/2013052500.sql
已删除
100644 → 0
SQL/sqlite/2013061000.sql
已删除
100644 → 0
1 | -DROP TABLE cache_index; | ||
2 | -DROP TABLE cache_thread; | ||
3 | -DROP TABLE cache_messages; | ||
4 | - | ||
5 | -ALTER TABLE cache ADD expires datetime DEFAULT NULL; | ||
6 | -DROP INDEX ix_cache_created; | ||
7 | - | ||
8 | -ALTER TABLE cache_shared ADD expires datetime DEFAULT NULL; | ||
9 | -DROP INDEX ix_cache_shared_created; | ||
10 | - | ||
11 | -UPDATE cache SET expires = datetime(created, '+604800 seconds'); | ||
12 | -UPDATE cache_shared SET expires = datetime(created, '+604800 seconds'); | ||
13 | - | ||
14 | -CREATE INDEX ix_cache_expires ON cache(expires); | ||
15 | -CREATE INDEX ix_cache_shared_expires ON cache_shared(expires); | ||
16 | - | ||
17 | -CREATE TABLE cache_index ( | ||
18 | - user_id integer NOT NULL, | ||
19 | - mailbox varchar(255) NOT NULL, | ||
20 | - expires datetime DEFAULT NULL, | ||
21 | - valid smallint NOT NULL DEFAULT '0', | ||
22 | - data text NOT NULL, | ||
23 | - PRIMARY KEY (user_id, mailbox) | ||
24 | -); | ||
25 | - | ||
26 | -CREATE INDEX ix_cache_index_expires ON cache_index (expires); | ||
27 | - | ||
28 | -CREATE TABLE cache_thread ( | ||
29 | - user_id integer NOT NULL, | ||
30 | - mailbox varchar(255) NOT NULL, | ||
31 | - expires datetime DEFAULT NULL, | ||
32 | - data text NOT NULL, | ||
33 | - PRIMARY KEY (user_id, mailbox) | ||
34 | -); | ||
35 | - | ||
36 | -CREATE INDEX ix_cache_thread_expires ON cache_thread (expires); | ||
37 | - | ||
38 | -CREATE TABLE cache_messages ( | ||
39 | - user_id integer NOT NULL, | ||
40 | - mailbox varchar(255) NOT NULL, | ||
41 | - uid integer NOT NULL, | ||
42 | - expires datetime DEFAULT NULL, | ||
43 | - data text NOT NULL, | ||
44 | - flags integer NOT NULL DEFAULT '0', | ||
45 | - PRIMARY KEY (user_id, mailbox, uid) | ||
46 | -); | ||
47 | - | ||
48 | -CREATE INDEX ix_cache_messages_expires ON cache_messages (expires); |
SQL/sqlite/2014042900.sql
已删除
100644 → 0
1 | --- empty |
SQL/sqlite/2015030800.sql
已删除
100644 → 0
1 | --- empty |
SQL/sqlite/2015111100.sql
已删除
100644 → 0
1 | -CREATE TABLE tmp_users ( | ||
2 | - user_id integer NOT NULL PRIMARY KEY, | ||
3 | - username varchar(128) NOT NULL default '', | ||
4 | - mail_host varchar(128) NOT NULL default '', | ||
5 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
6 | - last_login datetime DEFAULT NULL, | ||
7 | - failed_login datetime DEFAULT NULL, | ||
8 | - failed_login_counter integer DEFAULT NULL, | ||
9 | - language varchar(5), | ||
10 | - preferences text NOT NULL default '' | ||
11 | -); | ||
12 | - | ||
13 | -INSERT INTO tmp_users (user_id, username, mail_host, created, last_login, language, preferences) | ||
14 | - SELECT user_id, username, mail_host, created, last_login, language, preferences FROM users; | ||
15 | - | ||
16 | -DROP TABLE users; | ||
17 | - | ||
18 | -CREATE TABLE users ( | ||
19 | - user_id integer NOT NULL PRIMARY KEY, | ||
20 | - username varchar(128) NOT NULL default '', | ||
21 | - mail_host varchar(128) NOT NULL default '', | ||
22 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
23 | - last_login datetime DEFAULT NULL, | ||
24 | - failed_login datetime DEFAULT NULL, | ||
25 | - failed_login_counter integer DEFAULT NULL, | ||
26 | - language varchar(5), | ||
27 | - preferences text NOT NULL default '' | ||
28 | -); | ||
29 | - | ||
30 | -INSERT INTO users (user_id, username, mail_host, created, last_login, language, preferences) | ||
31 | - SELECT user_id, username, mail_host, created, last_login, language, preferences FROM tmp_users; | ||
32 | - | ||
33 | -CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); | ||
34 | - | ||
35 | -DROP TABLE tmp_users; |
SQL/sqlite/2016081200.sql
已删除
100644 → 0
SQL/sqlite/2016100900.sql
已删除
100644 → 0
SQL/sqlite/2016112200.sql
已删除
100644 → 0
1 | -DROP TABLE cache; | ||
2 | -DROP TABLE cache_shared; | ||
3 | - | ||
4 | -CREATE TABLE cache ( | ||
5 | - user_id integer NOT NULL default 0, | ||
6 | - cache_key varchar(128) NOT NULL default '', | ||
7 | - expires datetime DEFAULT NULL, | ||
8 | - data text NOT NULL, | ||
9 | - PRIMARY KEY (user_id, cache_key) | ||
10 | -); | ||
11 | - | ||
12 | -CREATE INDEX ix_cache_expires ON cache(expires); | ||
13 | - | ||
14 | -CREATE TABLE cache_shared ( | ||
15 | - cache_key varchar(255) NOT NULL, | ||
16 | - expires datetime DEFAULT NULL, | ||
17 | - data text NOT NULL, | ||
18 | - PRIMARY KEY (cache_key) | ||
19 | -); | ||
20 | - | ||
21 | -CREATE INDEX ix_cache_shared_expires ON cache_shared(expires); |
SQL/sqlite/2018021600.sql
已删除
100644 → 0
SQL/sqlite/2018122300.sql
已删除
100644 → 0
1 | -CREATE TABLE tmp_filestore ( | ||
2 | - file_id integer PRIMARY KEY, | ||
3 | - user_id integer NOT NULL, | ||
4 | - filename varchar(128) NOT NULL, | ||
5 | - mtime integer NOT NULL, | ||
6 | - data text NOT NULL | ||
7 | -); | ||
8 | - | ||
9 | -INSERT INTO tmp_filestore (file_id, user_id, filename, mtime, data) | ||
10 | - SELECT file_id, user_id, filename, mtime, data FROM filestore; | ||
11 | - | ||
12 | -DROP TABLE filestore; | ||
13 | - | ||
14 | -CREATE TABLE filestore ( | ||
15 | - file_id integer NOT NULL PRIMARY KEY, | ||
16 | - user_id integer NOT NULL, | ||
17 | - context varchar(32) NOT NULL, | ||
18 | - filename varchar(128) NOT NULL, | ||
19 | - mtime integer NOT NULL, | ||
20 | - data text NOT NULL | ||
21 | -); | ||
22 | - | ||
23 | -INSERT INTO filestore (file_id, user_id, filename, mtime, data, context) | ||
24 | - SELECT file_id, user_id, filename, mtime, data, 'enigma' FROM tmp_filestore; | ||
25 | - | ||
26 | -CREATE UNIQUE INDEX ix_filestore_user_id ON filestore(user_id, context, filename); | ||
27 | - | ||
28 | -DROP TABLE tmp_filestore; | ||
29 | - |
SQL/sqlite/2019092900.sql
已删除
100644 → 0
1 | --- empty |
SQL/sqlite/2020020100.sql
已删除
100644 → 0
1 | -CREATE TABLE tmp_users ( | ||
2 | - user_id integer NOT NULL PRIMARY KEY, | ||
3 | - username varchar(128) NOT NULL default '', | ||
4 | - mail_host varchar(128) NOT NULL default '', | ||
5 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
6 | - last_login datetime DEFAULT NULL, | ||
7 | - failed_login datetime DEFAULT NULL, | ||
8 | - failed_login_counter integer DEFAULT NULL, | ||
9 | - language varchar(16), | ||
10 | - preferences text NOT NULL default '' | ||
11 | -); | ||
12 | - | ||
13 | -INSERT INTO tmp_users (user_id, username, mail_host, created, last_login, failed_login, failed_login_counter, language, preferences) | ||
14 | - SELECT user_id, username, mail_host, created, last_login, failed_login, failed_login_counter, language, preferences FROM users; | ||
15 | - | ||
16 | -DROP TABLE users; | ||
17 | - | ||
18 | -CREATE TABLE users ( | ||
19 | - user_id integer NOT NULL PRIMARY KEY, | ||
20 | - username varchar(128) NOT NULL default '', | ||
21 | - mail_host varchar(128) NOT NULL default '', | ||
22 | - created datetime NOT NULL default '0000-00-00 00:00:00', | ||
23 | - last_login datetime DEFAULT NULL, | ||
24 | - failed_login datetime DEFAULT NULL, | ||
25 | - failed_login_counter integer DEFAULT NULL, | ||
26 | - language varchar(16), | ||
27 | - preferences text NOT NULL default '' | ||
28 | -); | ||
29 | - | ||
30 | -INSERT INTO users (user_id, username, mail_host, created, last_login, failed_login, failed_login_counter, language, preferences) | ||
31 | - SELECT user_id, username, mail_host, created, last_login, failed_login, failed_login_counter, language, preferences FROM tmp_users; | ||
32 | - | ||
33 | -CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); | ||
34 | - | ||
35 | -DROP TABLE tmp_users; | ||
36 | - | ||
37 | -CREATE TABLE tmp_dictionary ( | ||
38 | - user_id integer DEFAULT NULL, | ||
39 | - language varchar(16) NOT NULL, | ||
40 | - data text NOT NULL | ||
41 | -); | ||
42 | - | ||
43 | -INSERT INTO tmp_dictionary (user_id, language, data) SELECT user_id, language, data FROM dictionary; | ||
44 | - | ||
45 | -DROP TABLE dictionary; | ||
46 | - | ||
47 | -CREATE TABLE dictionary ( | ||
48 | - user_id integer DEFAULT NULL, | ||
49 | - language varchar(16) NOT NULL, | ||
50 | - data text NOT NULL | ||
51 | -); | ||
52 | - | ||
53 | -INSERT INTO dictionary (user_id, language, data) SELECT user_id, language, data FROM tmp_dictionary; | ||
54 | - | ||
55 | -CREATE UNIQUE INDEX ix_dictionary_user_language ON dictionary (user_id, language); | ||
56 | - | ||
57 | -DROP TABLE tmp_dictionary; |
SQL/sqlite/2020020101.sql
已删除
100644 → 0
1 | --- empty |
SQL/sqlite/2020091000.sql
已删除
100644 → 0
1 | -CREATE TABLE collected_addresses ( | ||
2 | - address_id integer NOT NULL PRIMARY KEY, | ||
3 | - user_id integer NOT NULL, | ||
4 | - changed datetime NOT NULL default '0000-00-00 00:00:00', | ||
5 | - name varchar(255) NOT NULL default '', | ||
6 | - email varchar(255) NOT NULL, | ||
7 | - "type" integer NOT NULL | ||
8 | -); | ||
9 | - | ||
10 | -CREATE UNIQUE INDEX ix_collected_addresses_user_id ON collected_addresses(user_id, "type", email); |
-
请 注册 或 登录 后发表评论