正在显示
105 个修改的文件
包含
152 行增加
和
2869 行删除
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 '那个平台', |
@@ -275,3 +279,14 @@ CREATE TABLE `platform` ( | @@ -275,3 +279,14 @@ CREATE TABLE `platform` ( | ||
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); |
SQL/sqlite/2020122900.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 DEFAULT NULL | ||
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 DEFAULT NULL | ||
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; |
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | -/* | ||
4 | - +-----------------------------------------------------------------------+ | ||
5 | - | Local configuration for the Roundcube Webmail installation. | | ||
6 | - | | | ||
7 | - | This is a sample configuration file only containing the minimum | | ||
8 | - | setup required for a functional installation. Copy more options | | ||
9 | - | from defaults.inc.php to this file to override the defaults. | | ||
10 | - | | | ||
11 | - | This file is part of the Roundcube Webmail client | | ||
12 | - | Copyright (C) The Roundcube Dev Team | | ||
13 | - | | | ||
14 | - | Licensed under the GNU General Public License version 3 or | | ||
15 | - | any later version with exceptions for skins & plugins. | | ||
16 | - | See the README file for a full license statement. | | ||
17 | - +-----------------------------------------------------------------------+ | ||
18 | -*/ | ||
19 | - | ||
20 | -$config = []; | 3 | +/* Local configuration for Roundcube Webmail */ |
4 | + | ||
5 | +// ---------------------------------- | ||
6 | + | ||
7 | +// SQL DATABASE | ||
8 | + | ||
9 | +// ---------------------------------- | ||
21 | 10 | ||
22 | // Database connection string (DSN) for read+write operations | 11 | // Database connection string (DSN) for read+write operations |
12 | + | ||
23 | // Format (compatible with PEAR MDB2): db_provider://user:password@host/database | 13 | // Format (compatible with PEAR MDB2): db_provider://user:password@host/database |
14 | + | ||
24 | // Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv, oracle | 15 | // Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv, oracle |
16 | + | ||
25 | // For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php | 17 | // For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php |
26 | -// NOTE: for SQLite use absolute path (Linux): 'sqlite:////full/path/to/sqlite.db?mode=0646' | 18 | + |
19 | +// Note: for SQLite use absolute path (Linux): 'sqlite:////full/path/to/sqlite.db?mode=0646' | ||
20 | + | ||
27 | // or (Windows): 'sqlite:///C:/full/path/to/sqlite.db' | 21 | // or (Windows): 'sqlite:///C:/full/path/to/sqlite.db' |
28 | -$config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail'; | 22 | + |
23 | +// Note: Various drivers support various additional arguments for connection, | ||
24 | + | ||
25 | +// for Mysql: key, cipher, cert, capath, ca, verify_server_cert, | ||
26 | + | ||
27 | +// for Postgres: application_name, sslmode, sslcert, sslkey, sslrootcert, sslcrl, sslcompression, service. | ||
28 | + | ||
29 | +// e.g. 'mysql://roundcube:@localhost/roundcubemail?verify_server_cert=false' | ||
30 | + | ||
31 | +$config['db_dsnw'] = 'mysql://roundcubemail:mfmzCweHmZPfBSPK@localhost/roundcubemail'; | ||
32 | + | ||
33 | +// you can define specific table (and sequence) names prefix | ||
34 | + | ||
35 | +$config['db_prefix'] = ''; | ||
36 | + | ||
37 | +// ---------------------------------- | ||
38 | + | ||
39 | +// IMAP | ||
40 | + | ||
41 | +// ---------------------------------- | ||
29 | 42 | ||
30 | // The IMAP host chosen to perform the log-in. | 43 | // The IMAP host chosen to perform the log-in. |
44 | + | ||
31 | // Leave blank to show a textbox at login, give a list of hosts | 45 | // Leave blank to show a textbox at login, give a list of hosts |
46 | + | ||
32 | // to display a pulldown menu or set one host as string. | 47 | // to display a pulldown menu or set one host as string. |
48 | + | ||
33 | // Enter hostname with prefix ssl:// to use Implicit TLS, or use | 49 | // Enter hostname with prefix ssl:// to use Implicit TLS, or use |
50 | + | ||
34 | // prefix tls:// to use STARTTLS. | 51 | // prefix tls:// to use STARTTLS. |
52 | + | ||
35 | // Supported replacement variables: | 53 | // Supported replacement variables: |
54 | + | ||
36 | // %n - hostname ($_SERVER['SERVER_NAME']) | 55 | // %n - hostname ($_SERVER['SERVER_NAME']) |
56 | + | ||
37 | // %t - hostname without the first part | 57 | // %t - hostname without the first part |
58 | + | ||
38 | // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) | 59 | // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) |
60 | + | ||
39 | // %s - domain name after the '@' from e-mail address provided at login screen | 61 | // %s - domain name after the '@' from e-mail address provided at login screen |
62 | + | ||
40 | // For example %n = mail.domain.tld, %t = domain.tld | 63 | // For example %n = mail.domain.tld, %t = domain.tld |
41 | -$config['default_host'] = 'localhost'; | 64 | + |
65 | +// WARNING: After hostname change update of mail_host column in users table is | ||
66 | + | ||
67 | +// required to match old user data records with the new host. | ||
68 | + | ||
69 | +$config['default_host'] = []; | ||
70 | + | ||
71 | +// TCP port used for IMAP connections | ||
72 | + | ||
73 | +$config['default_port'] = 993; | ||
74 | + | ||
75 | +// ---------------------------------- | ||
76 | + | ||
77 | +// SMTP | ||
78 | + | ||
79 | +// ---------------------------------- | ||
42 | 80 | ||
43 | // SMTP server host (for sending mails). | 81 | // SMTP server host (for sending mails). |
82 | + | ||
44 | // Enter hostname with prefix ssl:// to use Implicit TLS, or use | 83 | // Enter hostname with prefix ssl:// to use Implicit TLS, or use |
84 | + | ||
45 | // prefix tls:// to use STARTTLS. | 85 | // prefix tls:// to use STARTTLS. |
86 | + | ||
46 | // Supported replacement variables: | 87 | // Supported replacement variables: |
88 | + | ||
47 | // %h - user's IMAP hostname | 89 | // %h - user's IMAP hostname |
90 | + | ||
48 | // %n - hostname ($_SERVER['SERVER_NAME']) | 91 | // %n - hostname ($_SERVER['SERVER_NAME']) |
92 | + | ||
49 | // %t - hostname without the first part | 93 | // %t - hostname without the first part |
94 | + | ||
50 | // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) | 95 | // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) |
96 | + | ||
51 | // %z - IMAP domain (IMAP hostname without the first part) | 97 | // %z - IMAP domain (IMAP hostname without the first part) |
98 | + | ||
52 | // For example %n = mail.domain.tld, %t = domain.tld | 99 | // For example %n = mail.domain.tld, %t = domain.tld |
53 | -// To specify different SMTP servers for different IMAP hosts provide an array | ||
54 | -// of IMAP host (no prefix or port) and SMTP server e.g. ['imap.example.com' => 'smtp.example.net'] | ||
55 | -$config['smtp_server'] = 'localhost'; | ||
56 | 100 | ||
57 | -// SMTP port. Use 25 for cleartext, 465 for Implicit TLS, or 587 for STARTTLS (default) | ||
58 | -$config['smtp_port'] = 587; | 101 | +// To specify different SMTP servers for different IMAP hosts provide an array |
59 | 102 | ||
60 | -// SMTP username (if required) if you use %u as the username Roundcube | ||
61 | -// will use the current username for login | ||
62 | -$config['smtp_user'] = '%u'; | 103 | +// of IMAP host (no prefix or port) and SMTP server e.g. ['imap.example.com' => 'smtp.example.net'] |
63 | 104 | ||
64 | -// SMTP password (if required) if you use %p as the password Roundcube | ||
65 | -// will use the current user's password for login | ||
66 | -$config['smtp_pass'] = '%p'; | 105 | +$config['smtp_server'] = []; |
67 | 106 | ||
68 | // provide an URL where a user can get support for this Roundcube installation | 107 | // provide an URL where a user can get support for this Roundcube installation |
108 | + | ||
69 | // PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE! | 109 | // PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE! |
70 | -$config['support_url'] = ''; | 110 | + |
111 | +$config['support_url'] = 'https://test-mail.shopk.com/'; | ||
112 | + | ||
113 | +// This key is used for encrypting purposes, like storing of imap password | ||
114 | + | ||
115 | +// in the session. For historical reasons it's called DES_key, but it's used | ||
116 | + | ||
117 | +// with any configured cipher_method (see below). | ||
118 | + | ||
119 | +// For the default cipher_method a required key length is 24 characters. | ||
120 | + | ||
121 | +$config['des_key'] = 'EASUBYJVx0cDPKV7zmC2jdiD'; | ||
71 | 122 | ||
72 | // Name your service. This is displayed on the login screen and in the window title | 123 | // Name your service. This is displayed on the login screen and in the window title |
73 | -$config['product_name'] = 'Roundcube Webmail'; | ||
74 | 124 | ||
75 | -// This key is used to encrypt the users imap password which is stored | ||
76 | -// in the session record. For the default cipher method it must be | ||
77 | -// exactly 24 characters long. | ||
78 | -// YOUR KEY MUST BE DIFFERENT THAN THE SAMPLE VALUE FOR SECURITY REASONS | ||
79 | -$config['des_key'] = 'rcmail-!24ByteDESkey*Str'; | 125 | +$config['product_name'] = 'shopk email'; |
126 | + | ||
127 | +// ---------------------------------- | ||
128 | + | ||
129 | +// PLUGINS | ||
130 | + | ||
131 | +// ---------------------------------- | ||
80 | 132 | ||
81 | // List of active plugins (in plugins/ directory) | 133 | // List of active plugins (in plugins/ directory) |
82 | -$config['plugins'] = [ | ||
83 | - 'archive', | ||
84 | - 'zipdownload', | ||
85 | -]; | ||
86 | 134 | ||
87 | -// skin name: folder from skins/ | ||
88 | -$config['skin'] = 'elastic'; | 135 | +$config['plugins'] = ['acl', 'additional_message_headers', /*'archive',*/ 'attachment_reminder', /* 'autologon', 'database_attachments','debug_logger',*/ 'emoticons', /*'enigma',*/ 'example_addressbook', 'filesystem_attachments', /*'help',*/ 'hide_blockquote',/* 'http_authentication',*/ 'identicon', 'identity_select', 'jqueryui', /* 'krb_authentication','managesieve',*/ 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', /*'password',*/ 'reconnect', 'redundant_attachments', 'show_additional_headers', /* 'squirrelmail_usercopy', 'subscriptions_option','userinfo',*/ 'vcard_attachments', 'virtuser_file', 'virtuser_query', 'zipdownload']; |
136 | + | ||
137 | +// the default locale setting (leave empty for auto-detection) | ||
138 | + | ||
139 | +// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR | ||
140 | + | ||
141 | +$config['language'] = 'zh-CN'; | ||
142 | + | ||
143 | + | ||
144 | +$config['mime_types'] = __DIR__.'/mime.types'; | ||
145 | + | ||
146 | + | ||
147 | +$config['enable_installer'] = false; |
@@ -37,27 +37,27 @@ class help extends rcube_plugin | @@ -37,27 +37,27 @@ class help extends rcube_plugin | ||
37 | 37 | ||
38 | function startup($args) | 38 | function startup($args) |
39 | { | 39 | { |
40 | - // TODO::帮助按钮 | ||
41 | -// $rcmail = rcmail::get_instance(); | ||
42 | -// | ||
43 | -// if (!$rcmail->output->framed) { | ||
44 | -// // add taskbar button | ||
45 | -// $this->add_button([ | ||
46 | -// 'command' => 'help', | ||
47 | -// 'class' => 'button-help', | ||
48 | -// 'classsel' => 'button-help button-selected', | ||
49 | -// 'innerclass' => 'button-inner', | ||
50 | -// 'label' => 'help.help', | ||
51 | -// 'type' => 'link', | ||
52 | -// ], 'taskbar' | ||
53 | -// ); | ||
54 | -// | ||
55 | -// $this->include_script('help.js'); | ||
56 | -// $rcmail->output->set_env('help_open_extwin', $rcmail->config->get('help_open_extwin', false), true); | ||
57 | -// } | ||
58 | -// | ||
59 | -// // add style for taskbar button (must be here) and Help UI | ||
60 | -// $this->include_stylesheet($this->local_skin_path() . '/help.css'); | 40 | + |
41 | + $rcmail = rcmail::get_instance(); | ||
42 | + | ||
43 | + if (!$rcmail->output->framed) { | ||
44 | + // add taskbar button | ||
45 | + $this->add_button([ | ||
46 | + 'command' => 'help', | ||
47 | + 'class' => 'button-help', | ||
48 | + 'classsel' => 'button-help button-selected', | ||
49 | + 'innerclass' => 'button-inner', | ||
50 | + 'label' => 'help.help', | ||
51 | + 'type' => 'link', | ||
52 | + ], 'taskbar' | ||
53 | + ); | ||
54 | + | ||
55 | + $this->include_script('help.js'); | ||
56 | + $rcmail->output->set_env('help_open_extwin', $rcmail->config->get('help_open_extwin', false), true); | ||
57 | + } | ||
58 | + | ||
59 | + // add style for taskbar button (must be here) and Help UI | ||
60 | + $this->include_stylesheet($this->local_skin_path() . '/help.css'); | ||
61 | } | 61 | } |
62 | 62 | ||
63 | function action() | 63 | function action() |
@@ -2369,19 +2369,15 @@ EOF; | @@ -2369,19 +2369,15 @@ EOF; | ||
2369 | $js_default_host = rcube_email_server_address::getKeyValue(); | 2369 | $js_default_host = rcube_email_server_address::getKeyValue(); |
2370 | $_script = "<script> | 2370 | $_script = "<script> |
2371 | var _default_hosts = ".json_encode($js_default_host,JSON_UNESCAPED_UNICODE)."; | 2371 | var _default_hosts = ".json_encode($js_default_host,JSON_UNESCAPED_UNICODE)."; |
2372 | -$(\"#rcmloginuser\").change(function() { | ||
2373 | - auto_host($(this).val()); | ||
2374 | -}); | ||
2375 | -$(\"#rcmloginuser\").keyup(function() { | ||
2376 | - auto_host($(this).val()); | ||
2377 | -}); | 2372 | +$(\"#rcmloginuser\").change(function() {auto_host($(this).val());}); |
2373 | +$(\"#rcmloginuser\").keyup(function() {auto_host($(this).val());}); | ||
2374 | +$(\"#rcmloginuser\").blur(function() {auto_host($(this).val());}); | ||
2375 | +$('body').mousedown(function() {auto_host($(\"#rcmloginuser\").val());}); | ||
2378 | function auto_host(_user){ | 2376 | function auto_host(_user){ |
2379 | - _user = _user.split('@'); | ||
2380 | - if(_user[1]){ | ||
2381 | - if(_default_hosts[_user[1]]){ | 2377 | + _user = _user.trim().split('@'); |
2378 | + if(_user[1] && _default_hosts[_user[1]]){ | ||
2382 | $(\"#rcmloginhost\").val(_default_hosts[_user[1]]); | 2379 | $(\"#rcmloginhost\").val(_default_hosts[_user[1]]); |
2383 | } | 2380 | } |
2384 | - } | ||
2385 | } | 2381 | } |
2386 | </script>"; | 2382 | </script>"; |
2387 | $this->add_script(mb_substr($_script,8,-9),'foot'); | 2383 | $this->add_script(mb_substr($_script,8,-9),'foot'); |
-
请 注册 或 登录 后发表评论