Merge pull request #5304 from WoltLab/utc-timezone
[GitHub/WoltLab/WCF.git] / wcfsetup / setup / db / install.sql
1 /*
2 This table was moved up here, because it must be created during the first iteration
3
4 DO *NOT* MOVE IT BACK!
5 */
6 DROP TABLE IF EXISTS wcf1_package_installation_sql_log;
7 CREATE TABLE wcf1_package_installation_sql_log (
8 packageID INT(10) NOT NULL,
9 sqlTable VARCHAR(100) NOT NULL DEFAULT '',
10 sqlColumn VARCHAR(100) NOT NULL DEFAULT '',
11 sqlIndex VARCHAR(100) NOT NULL DEFAULT '',
12 isDone TINYINT(1) NOT NULL DEFAULT 1,
13 UNIQUE KEY packageID (packageID, sqlTable, sqlColumn, sqlIndex)
14 );
15
16 /* tables */
17 DROP TABLE IF EXISTS wcf1_acl_option;
18 CREATE TABLE wcf1_acl_option (
19 optionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
20 packageID INT(10) NOT NULL,
21 objectTypeID INT(10) NOT NULL,
22 optionName VARCHAR(191) NOT NULL,
23 categoryName VARCHAR(191) NOT NULL,
24 UNIQUE KEY (packageID, objectTypeID, optionName)
25 );
26
27 DROP TABLE IF EXISTS wcf1_acl_option_category;
28 CREATE TABLE wcf1_acl_option_category (
29 categoryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
30 packageID INT(10) NOT NULL,
31 objectTypeID INT(10) NOT NULL,
32 categoryName VARCHAR(191) NOT NULL,
33 UNIQUE KEY (packageID, objectTypeID, categoryName)
34 );
35
36 DROP TABLE IF EXISTS wcf1_acl_option_to_user;
37 CREATE TABLE wcf1_acl_option_to_user (
38 optionID INT(10) NOT NULL,
39 objectID INT(10) NOT NULL,
40 userID INT(10) NOT NULL,
41 optionValue TINYINT(1) NOT NULL DEFAULT 0,
42 UNIQUE KEY userID (userID, objectID, optionID)
43 );
44
45 DROP TABLE IF EXISTS wcf1_acl_option_to_group;
46 CREATE TABLE wcf1_acl_option_to_group (
47 optionID INT(10) NOT NULL,
48 objectID INT(10) NOT NULL,
49 groupID INT(10) NOT NULL,
50 optionValue TINYINT(1) NOT NULL DEFAULT 0,
51 UNIQUE KEY groupID (groupID, objectID, optionID)
52 );
53
54 DROP TABLE IF EXISTS wcf1_acl_simple_to_user;
55 CREATE TABLE wcf1_acl_simple_to_user (
56 objectTypeID INT(10) NOT NULL,
57 objectID INT(10) NOT NULL,
58 userID INT(10) NOT NULL,
59 UNIQUE KEY userKey (objectTypeID, objectID, userID)
60 );
61
62 DROP TABLE IF EXISTS wcf1_acl_simple_to_group;
63 CREATE TABLE wcf1_acl_simple_to_group (
64 objectTypeID INT(10) NOT NULL,
65 objectID INT(10) NOT NULL,
66 groupID INT(10) NOT NULL,
67 UNIQUE KEY groupKey (objectTypeID, objectID, groupID)
68 );
69
70 DROP TABLE IF EXISTS wcf1_acp_menu_item;
71 CREATE TABLE wcf1_acp_menu_item (
72 menuItemID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
73 packageID INT(10) NOT NULL,
74 menuItem VARCHAR(191) NOT NULL DEFAULT '',
75 parentMenuItem VARCHAR(191) NOT NULL DEFAULT '',
76 menuItemController VARCHAR(255) NOT NULL DEFAULT '',
77 menuItemLink VARCHAR(255) NOT NULL DEFAULT '',
78 showOrder INT(10) NOT NULL DEFAULT 0,
79 permissions TEXT,
80 options TEXT,
81 icon VARCHAR(255) NOT NULL DEFAULT '',
82 UNIQUE KEY menuItem (menuItem, packageID)
83 );
84
85 DROP TABLE IF EXISTS wcf1_acp_search_provider;
86 CREATE TABLE wcf1_acp_search_provider (
87 providerID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
88 packageID INT(10) NOT NULL,
89 providerName VARCHAR(191) NOT NULL DEFAULT '',
90 className VARCHAR(255) NOT NULL DEFAULT '',
91 showOrder INT(10) NOT NULL DEFAULT 0,
92 UNIQUE KEY providerName (providerName, packageID)
93 );
94
95 DROP TABLE IF EXISTS wcf1_acp_session_access_log;
96 CREATE TABLE wcf1_acp_session_access_log (
97 sessionAccessLogID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
98 sessionLogID INT(10) NOT NULL,
99 ipAddress VARCHAR(39) NOT NULL DEFAULT '',
100 time INT(10) NOT NULL DEFAULT 0,
101 requestURI VARCHAR(255) NOT NULL DEFAULT '',
102 requestMethod VARCHAR(255) NOT NULL DEFAULT '',
103 className VARCHAR(255) NOT NULL DEFAULT '',
104 KEY sessionLogID (sessionLogID)
105 );
106
107 DROP TABLE IF EXISTS wcf1_acp_session_log;
108 CREATE TABLE wcf1_acp_session_log (
109 sessionLogID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
110 sessionID CHAR(40) NOT NULL DEFAULT '',
111 userID INT(10),
112 ipAddress VARCHAR(39) NOT NULL DEFAULT '',
113 hostname VARCHAR(255) NOT NULL DEFAULT '',
114 userAgent VARCHAR(255) NOT NULL DEFAULT '',
115 time INT(10) NOT NULL DEFAULT 0,
116 lastActivityTime INT(10) NOT NULL DEFAULT 0,
117 KEY sessionID (sessionID)
118 );
119
120 DROP TABLE IF EXISTS wcf1_acp_template;
121 CREATE TABLE wcf1_acp_template (
122 templateID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
123 packageID INT(10) NOT NULL,
124 templateName VARCHAR(191) NOT NULL,
125 application VARCHAR(20) NOT NULL,
126 UNIQUE KEY applicationTemplate (application, templateName)
127 );
128
129 DROP TABLE IF EXISTS wcf1_ad;
130 CREATE TABLE wcf1_ad (
131 adID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
132 objectTypeID INT(10) NOT NULL,
133 adName VARCHAR(255) NOT NULL,
134 ad MEDIUMTEXT,
135 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
136 showOrder INT(10) NOT NULL DEFAULT 0
137 );
138
139 DROP TABLE IF EXISTS wcf1_application;
140 CREATE TABLE wcf1_application (
141 packageID INT(10) NOT NULL PRIMARY KEY,
142 domainName VARCHAR(255) NOT NULL,
143 domainPath VARCHAR(255) NOT NULL DEFAULT '/',
144 cookieDomain VARCHAR(255) NOT NULL,
145 isTainted TINYINT(1) NOT NULL DEFAULT 0,
146 landingPageID INT(10) NULL
147 );
148
149 DROP TABLE IF EXISTS wcf1_article;
150 CREATE TABLE wcf1_article (
151 articleID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
152 userID INT(10),
153 username VARCHAR(255) NOT NULL DEFAULT '',
154 time INT(10) NOT NULL DEFAULT 0,
155 categoryID INT(10),
156 isMultilingual TINYINT(1) NOT NULL DEFAULT 0,
157 publicationStatus TINYINT(1) NOT NULL DEFAULT 1,
158 publicationDate INT(10) NOT NULL DEFAULT 0,
159 enableComments TINYINT(1) NOT NULL DEFAULT 1,
160 views MEDIUMINT(7) NOT NULL DEFAULT 0,
161 cumulativeLikes MEDIUMINT(7) NOT NULL DEFAULT 0,
162 attachments SMALLINT(5) NOT NULL DEFAULT 0,
163 isDeleted TINYINT(1) NOT NULL DEFAULT 0,
164 hasLabels TINYINT(1) NOT NULL DEFAULT 0,
165
166 KEY (time)
167 );
168
169 DROP TABLE IF EXISTS wcf1_article_content;
170 CREATE TABLE wcf1_article_content (
171 articleContentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
172 articleID INT(10) NOT NULL,
173 languageID INT(10),
174 title VARCHAR(255) NOT NULL,
175 teaser TEXT,
176 content MEDIUMTEXT,
177 imageID INT(10),
178 teaserImageID INT(10),
179 hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0,
180 metaTitle VARCHAR(255) NOT NULL DEFAULT '',
181 metaDescription VARCHAR(255) NOT NULL DEFAULT '',
182 comments SMALLINT(5) NOT NULL DEFAULT 0,
183
184 UNIQUE KEY (articleID, languageID)
185 );
186
187 DROP TABLE IF EXISTS wcf1_attachment;
188 CREATE TABLE wcf1_attachment (
189 attachmentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
190 objectTypeID INT(10) NOT NULL,
191 objectID INT(10),
192 userID INT(10),
193 tmpHash VARCHAR(40) NOT NULL DEFAULT '',
194 filename VARCHAR(255) NOT NULL DEFAULT '',
195 filesize INT(10) NOT NULL DEFAULT 0,
196 fileType VARCHAR(255) NOT NULL DEFAULT '',
197 fileHash VARCHAR(40) NOT NULL DEFAULT '',
198
199 isImage TINYINT(1) NOT NULL DEFAULT 0,
200 width SMALLINT(5) NOT NULL DEFAULT 0,
201 height SMALLINT(5) NOT NULL DEFAULT 0,
202
203 tinyThumbnailType VARCHAR(255) NOT NULL DEFAULT '',
204 tinyThumbnailSize INT(10) NOT NULL DEFAULT 0,
205 tinyThumbnailWidth SMALLINT(5) NOT NULL DEFAULT 0,
206 tinyThumbnailHeight SMALLINT(5) NOT NULL DEFAULT 0,
207
208 thumbnailType VARCHAR(255) NOT NULL DEFAULT '',
209 thumbnailSize INT(10) NOT NULL DEFAULT 0,
210 thumbnailWidth SMALLINT(5) NOT NULL DEFAULT 0,
211 thumbnailHeight SMALLINT(5) NOT NULL DEFAULT 0,
212
213 downloads INT(10) NOT NULL DEFAULT 0,
214 lastDownloadTime INT(10) NOT NULL DEFAULT 0,
215 uploadTime INT(10) NOT NULL DEFAULT 0,
216 showOrder SMALLINT(5) NOT NULL DEFAULT 0,
217 KEY (objectTypeID, objectID),
218 KEY (objectTypeID, tmpHash),
219 KEY (objectID, uploadTime)
220 );
221
222 DROP TABLE IF EXISTS wcf1_background_job;
223 CREATE TABLE wcf1_background_job (
224 jobID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
225 job MEDIUMBLOB NOT NULL,
226 status ENUM('ready', 'processing') NOT NULL DEFAULT 'ready',
227 time INT(10) NOT NULL,
228 KEY (status, time)
229 );
230
231 DROP TABLE IF EXISTS wcf1_bbcode;
232 CREATE TABLE wcf1_bbcode (
233 bbcodeID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
234 bbcodeTag VARCHAR(191) NOT NULL,
235 packageID INT(10) NOT NULL,
236 htmlOpen VARCHAR(255) NOT NULL DEFAULT '',
237 htmlClose VARCHAR(255) NOT NULL DEFAULT '',
238 className VARCHAR(255) NOT NULL DEFAULT '',
239 wysiwygIcon varchar(255) NOT NULL DEFAULT '',
240 buttonLabel VARCHAR(255) NOT NULL DEFAULT '',
241 isBlockElement TINYINT(1) NOT NULL DEFAULT 0,
242 isSourceCode TINYINT(1) NOT NULL DEFAULT 0,
243 showButton TINYINT(1) NOT NULL DEFAULT 0,
244 originIsSystem TINYINT(1) NOT NULL DEFAULT 0,
245 UNIQUE KEY bbcodeTag (bbcodeTag)
246 );
247
248 DROP TABLE IF EXISTS wcf1_bbcode_attribute;
249 CREATE TABLE wcf1_bbcode_attribute (
250 attributeID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
251 bbcodeID INT(10) NOT NULL,
252 attributeNo TINYINT(3) NOT NULL DEFAULT 0,
253 attributeHtml VARCHAR(255) NOT NULL DEFAULT '',
254 validationPattern VARCHAR(255) NOT NULL DEFAULT '',
255 required TINYINT(1) NOT NULL DEFAULT 0,
256 useText TINYINT(1) NOT NULL DEFAULT 0,
257 UNIQUE KEY attributeNo (bbcodeID, attributeNo)
258 );
259
260 DROP TABLE IF EXISTS wcf1_bbcode_media_provider;
261 CREATE TABLE wcf1_bbcode_media_provider (
262 providerID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
263 name VARCHAR(80) NOT NULL,
264 packageID INT(10) NOT NULL,
265 title VARCHAR(255) NOT NULL,
266 regex TEXT NOT NULL,
267 html TEXT NOT NULL,
268 className varchar(255) NOT NULL DEFAULT '',
269 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
270 UNIQUE KEY name (name, packageID)
271 );
272
273 DROP TABLE IF EXISTS wcf1_blacklist_status;
274 CREATE TABLE wcf1_blacklist_status (
275 date DATE NOT NULL,
276 delta1 TINYINT(1) NOT NULL DEFAULT 0,
277 delta2 TINYINT(1) NOT NULL DEFAULT 0,
278 delta3 TINYINT(1) NOT NULL DEFAULT 0,
279 delta4 TINYINT(1) NOT NULL DEFAULT 0,
280
281 UNIQUE KEY day (date)
282 );
283
284 DROP TABLE IF EXISTS wcf1_blacklist_entry;
285 CREATE TABLE wcf1_blacklist_entry (
286 type ENUM('email', 'ipv4','ipv6','username'),
287 hash BINARY(32),
288 lastSeen DATETIME NOT NULL,
289 occurrences SMALLINT(5) NOT NULL,
290
291 UNIQUE KEY entry (type, hash),
292 KEY numberOfReports (type, occurrences),
293 KEY lastSeen (lastSeen)
294 );
295
296 DROP TABLE IF EXISTS wcf1_box;
297 CREATE TABLE wcf1_box (
298 boxID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
299 objectTypeID INT(10),
300 identifier VARCHAR(255) NOT NULL,
301 name VARCHAR(255) NOT NULL,
302 boxType VARCHAR(255) NOT NULL,
303 position VARCHAR(255) NOT NULL,
304 showOrder INT(10) NOT NULL DEFAULT 0,
305 visibleEverywhere TINYINT(1) NOT NULL DEFAULT 1,
306 isMultilingual TINYINT(1) NOT NULL DEFAULT 0,
307 lastUpdateTime INT(10) NOT NULL DEFAULT 0,
308 cssClassName VARCHAR(255) NOT NULL DEFAULT '',
309 showHeader TINYINT(1) NOT NULL DEFAULT 1,
310 originIsSystem TINYINT(1) NOT NULL DEFAULT 0,
311 packageID INT(10) NOT NULL,
312 menuID INT(10) NULL,
313 linkPageID INT(10),
314 linkPageObjectID INT(10) NOT NULL DEFAULT 0,
315 externalURL VARCHAR(255) NOT NULL DEFAULT '',
316 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
317 invertPermissions TINYINT(1) NOT NULL DEFAULT 0,
318 additionalData TEXT
319 );
320
321 DROP TABLE IF EXISTS wcf1_box_content;
322 CREATE TABLE wcf1_box_content (
323 boxContentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
324 boxID INT(10) NOT NULL,
325 languageID INT(10),
326 title VARCHAR(255) NOT NULL,
327 content MEDIUMTEXT,
328 imageID INT(10),
329 hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0,
330
331 UNIQUE KEY (boxID, languageID)
332 );
333
334 DROP TABLE IF EXISTS wcf1_box_to_page;
335 CREATE TABLE wcf1_box_to_page (
336 boxID INT(10) NOT NULL,
337 pageID INT(10) NOT NULL,
338 visible TINYINT(1) NOT NULL DEFAULT 1,
339
340 UNIQUE KEY (pageID, boxID),
341 KEY (pageID, visible)
342 );
343
344 DROP TABLE IF EXISTS wcf1_captcha_question;
345 CREATE TABLE wcf1_captcha_question (
346 questionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
347 question VARCHAR(255) NOT NULL,
348 answers MEDIUMTEXT,
349 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
350 views INT(10) NOT NULL DEFAULT 0,
351 correctSubmissions INT(10) NOT NULL DEFAULT 0,
352 incorrectSubmissions INT(10) NOT NULL DEFAULT 0
353 );
354
355 DROP TABLE IF EXISTS wcf1_category;
356 CREATE TABLE wcf1_category (
357 categoryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
358 objectTypeID INT(10) NOT NULL,
359 parentCategoryID INT(10) NOT NULL DEFAULT 0,
360 title VARCHAR(255) NOT NULL,
361 description TEXT,
362 descriptionUseHtml TINYINT(1) NOT NULL DEFAULT 0,
363 showOrder INT(10) NOT NULL DEFAULT 0,
364 time INT(10) NOT NULL DEFAULT 0,
365 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
366 additionalData TEXT
367 );
368
369 DROP TABLE IF EXISTS wcf1_clipboard_action;
370 CREATE TABLE wcf1_clipboard_action (
371 actionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
372 packageID INT(10) NOT NULL DEFAULT 0,
373 actionName VARCHAR(50) NOT NULL DEFAULT '',
374 actionClassName VARCHAR(191) NOT NULL DEFAULT '',
375 showOrder INT(10) NOT NULL DEFAULT 0,
376 UNIQUE KEY actionName (packageID, actionName, actionClassName)
377 );
378
379 DROP TABLE IF EXISTS wcf1_clipboard_item;
380 CREATE TABLE wcf1_clipboard_item (
381 objectTypeID INT(10) NOT NULL DEFAULT 0,
382 userID INT(10) NOT NULL DEFAULT 0,
383 objectID INT(10) NOT NULL DEFAULT 0,
384 UNIQUE KEY (objectTypeID, userID, objectID),
385 KEY (userID)
386 );
387
388 DROP TABLE IF EXISTS wcf1_clipboard_page;
389 CREATE TABLE wcf1_clipboard_page (
390 pageClassName VARCHAR(80) NOT NULL DEFAULT '',
391 packageID INT(10) NOT NULL DEFAULT 0,
392 actionID INT(10) NOT NULL DEFAULT 0
393 );
394
395 DROP TABLE IF EXISTS wcf1_comment;
396 CREATE TABLE wcf1_comment (
397 commentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
398 objectTypeID INT(10) NOT NULL,
399 objectID INT(10) NOT NULL,
400 time INT(10) NOT NULL DEFAULT '0',
401 userID INT(10),
402 username VARCHAR(255) NOT NULL,
403 message MEDIUMTEXT NOT NULL,
404 responses MEDIUMINT(7) NOT NULL DEFAULT '0',
405 responseIDs VARCHAR(255) NOT NULL DEFAULT '',
406 unfilteredResponses MEDIUMINT(7) NOT NULL DEFAULT '0',
407 unfilteredResponseIDs VARCHAR(255) NOT NULL DEFAULT '',
408 enableHtml TINYINT(1) NOT NULL DEFAULT 0,
409 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
410 hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0,
411
412 KEY (objectTypeID, objectID, isDisabled, time),
413 KEY lastCommentTime (userID, time)
414 );
415
416 DROP TABLE IF EXISTS wcf1_comment_response;
417 CREATE TABLE wcf1_comment_response (
418 responseID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
419 commentID INT(10) NOT NULL,
420 time INT(10) NOT NULL DEFAULT '0',
421 userID INT(10),
422 username VARCHAR(255) NOT NULL,
423 message MEDIUMTEXT NOT NULL,
424 enableHtml TINYINT(1) NOT NULL DEFAULT 0,
425 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
426 hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0,
427
428 KEY (commentID, isDisabled, time),
429 KEY lastResponseTime (userID, time)
430 );
431
432 DROP TABLE IF EXISTS wcf1_condition;
433 CREATE TABLE wcf1_condition (
434 conditionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
435 objectTypeID INT(10) NOT NULL,
436 objectID INT(10) NOT NULL,
437 conditionData MEDIUMTEXT
438 );
439
440 DROP TABLE IF EXISTS wcf1_contact_attachment;
441 CREATE TABLE wcf1_contact_attachment (
442 attachmentID INT(10) NOT NULL,
443 accessKey CHAR(40) NOT NULL
444 );
445
446 DROP TABLE IF EXISTS wcf1_contact_option;
447 CREATE TABLE wcf1_contact_option (
448 optionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
449 optionTitle VARCHAR(255) NOT NULL DEFAULT '',
450 optionDescription TEXT,
451 optionType VARCHAR(255) NOT NULL DEFAULT '',
452 defaultValue MEDIUMTEXT,
453 validationPattern TEXT,
454 selectOptions MEDIUMTEXT,
455 required TINYINT(1) NOT NULL DEFAULT 0,
456 showOrder INT(10) NOT NULL DEFAULT 0,
457 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
458 originIsSystem TINYINT(1) NOT NULL DEFAULT 0
459 );
460
461 DROP TABLE IF EXISTS wcf1_contact_recipient;
462 CREATE TABLE wcf1_contact_recipient (
463 recipientID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
464 name VARCHAR(255) NOT NULL,
465 email VARCHAR(255) NOT NULL,
466 showOrder INT(10) NOT NULL DEFAULT 0,
467 isAdministrator TINYINT(1) NOT NULL DEFAULT 0,
468 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
469 originIsSystem TINYINT(1) NOT NULL DEFAULT 0
470 );
471
472 /* SQL_PARSER_OFFSET */
473
474 DROP TABLE IF EXISTS wcf1_core_object;
475 CREATE TABLE wcf1_core_object (
476 objectID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
477 packageID INT(10) NOT NULL,
478 objectName VARCHAR(191) NOT NULL DEFAULT '',
479 UNIQUE KEY object (packageID, objectName)
480 );
481
482 DROP TABLE IF EXISTS wcf1_cronjob;
483 CREATE TABLE wcf1_cronjob (
484 cronjobID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
485 className varchar(255) NOT NULL DEFAULT '',
486 packageID INT(10) NOT NULL,
487 cronjobName VARCHAR(191) NOT NULL,
488 description varchar(255) NOT NULL DEFAULT '',
489 startMinute varchar(255) NOT NULL DEFAULT '*',
490 startHour varchar(255) NOT NULL DEFAULT '*',
491 startDom varchar(255) NOT NULL DEFAULT '*',
492 startMonth varchar(255) NOT NULL DEFAULT '*',
493 startDow varchar(255) NOT NULL DEFAULT '*',
494 lastExec INT(10) NOT NULL DEFAULT 0,
495 nextExec INT(10) NOT NULL DEFAULT 0,
496 afterNextExec INT(10) NOT NULL DEFAULT 0,
497 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
498 canBeEdited TINYINT(1) NOT NULL DEFAULT 1,
499 canBeDisabled TINYINT(1) NOT NULL DEFAULT 1,
500 state TINYINT(1) NOT NULL DEFAULT 0,
501 failCount TINYINT(1) NOT NULL DEFAULT 0,
502 options TEXT,
503
504 UNIQUE KEY cronjobName (cronjobName, packageID)
505 );
506
507 DROP TABLE IF EXISTS wcf1_cronjob_log;
508 CREATE TABLE wcf1_cronjob_log (
509 cronjobLogID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
510 cronjobID INT(10) NOT NULL,
511 execTime INT(10) NOT NULL DEFAULT 0,
512 success TINYINT(1) NOT NULL DEFAULT 0,
513 error TEXT
514 );
515
516 DROP TABLE IF EXISTS wcf1_devtools_project;
517 CREATE TABLE wcf1_devtools_project (
518 projectID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
519 name VARCHAR(191) NOT NULL,
520 path TEXT,
521
522 UNIQUE KEY name (name)
523 );
524
525 DROP TABLE IF EXISTS wcf1_devtools_missing_language_item;
526 CREATE TABLE wcf1_devtools_missing_language_item (
527 itemID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
528 languageID INT(10),
529 languageItem VARCHAR(191) NOT NULL,
530 lastTime INT(10) NOT NULL,
531 stackTrace MEDIUMTEXT NOT NULL,
532
533 UNIQUE KEY (languageID, languageItem)
534 );
535
536 DROP TABLE IF EXISTS wcf1_edit_history_entry;
537 CREATE TABLE wcf1_edit_history_entry (
538 entryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
539 objectTypeID INT(10) NOT NULL,
540 objectID INT(10) NOT NULL,
541 userID INT(10),
542 username VARCHAR(255) NOT NULL DEFAULT '',
543 time INT(10) NOT NULL DEFAULT 0,
544 obsoletedAt INT(10) NOT NULL DEFAULT 0,
545 obsoletedByUserID INT(10),
546 message MEDIUMTEXT,
547 editReason TEXT,
548
549 KEY (objectTypeID, objectID),
550 KEY (obsoletedAt, obsoletedByUserID)
551 );
552
553 DROP TABLE IF EXISTS wcf1_email_log_entry;
554 CREATE TABLE wcf1_email_log_entry (
555 entryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
556 time INT(10) NOT NULL,
557 messageID VARCHAR(255) NOT NULL,
558 subject VARCHAR(255) NOT NULL,
559 recipient VARCHAR(255) NOT NULL,
560 recipientID INT(10) DEFAULT NULL,
561 status VARCHAR(255) NOT NULL,
562 message TEXT,
563
564 KEY time (time)
565 );
566
567 DROP TABLE IF EXISTS wcf1_event_listener;
568 CREATE TABLE wcf1_event_listener (
569 listenerID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
570 packageID INT(10) NOT NULL,
571 environment ENUM('user', 'admin', 'all') NOT NULL DEFAULT 'user',
572 listenerName VARCHAR(191) NOT NULL,
573 eventClassName VARCHAR(255) NOT NULL DEFAULT '',
574 eventName TEXT,
575 listenerClassName VARCHAR(200) NOT NULL DEFAULT '',
576 inherit TINYINT(1) NOT NULL DEFAULT 0,
577 niceValue TINYINT(3) NOT NULL DEFAULT 0,
578 permissions TEXT,
579 options TEXT,
580
581 UNIQUE KEY listenerName (listenerName, packageID)
582 );
583
584 /* As the flood control table can be a high traffic table and as it is periodically emptied,
585 there is no foreign key on the `objectTypeID` to speed up insertions. */
586 DROP TABLE IF EXISTS wcf1_flood_control;
587 CREATE TABLE wcf1_flood_control (
588 logID BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
589 objectTypeID INT(10) NOT NULL,
590 identifier BINARY(16) NOT NULL,
591 time INT(10) NOT NULL,
592 KEY (identifier),
593 KEY (time)
594 );
595
596 DROP TABLE IF EXISTS wcf1_import_mapping;
597 CREATE TABLE wcf1_import_mapping (
598 importHash CHAR(8) NOT NULL,
599 objectTypeID INT(10) NOT NULL,
600 oldID VARCHAR(191) NOT NULL,
601 newID INT(10) NOT NULL,
602 UNIQUE KEY (importHash, objectTypeID, oldID)
603 );
604
605 DROP TABLE IF EXISTS wcf1_label;
606 CREATE TABLE wcf1_label (
607 labelID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
608 groupID INT(10) NOT NULL,
609 label VARCHAR(80) NOT NULL,
610 cssClassName VARCHAR(255) NOT NULL DEFAULT '',
611 showOrder INT(10) NOT NULL DEFAULT 0
612 );
613
614 DROP TABLE IF EXISTS wcf1_label_group;
615 CREATE TABLE wcf1_label_group (
616 groupID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
617 groupName VARCHAR(80) NOT NULL,
618 groupDescription VARCHAR(255) NOT NULL DEFAULT '',
619 forceSelection TINYINT(1) NOT NULL DEFAULT 0,
620 showOrder INT(10) NOT NULL DEFAULT 0
621 );
622
623 DROP TABLE IF EXISTS wcf1_label_group_to_object;
624 CREATE TABLE wcf1_label_group_to_object (
625 groupID INT(10) NOT NULL,
626 objectTypeID INT(10) NOT NULL,
627 objectID INT(10) NULL
628 );
629
630 DROP TABLE IF EXISTS wcf1_label_object;
631 CREATE TABLE wcf1_label_object (
632 labelID INT(10) NOT NULL,
633 objectTypeID INT(10) NOT NULL,
634 objectID INT(10) NOT NULL,
635
636 KEY (objectTypeID, labelID),
637 KEY (objectTypeID, objectID)
638 );
639
640 DROP TABLE IF EXISTS wcf1_language;
641 CREATE TABLE wcf1_language (
642 languageID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
643 languageCode VARCHAR(20) NOT NULL DEFAULT '',
644 languageName VARCHAR(255) NOT NULL DEFAULT '',
645 countryCode VARCHAR(10) NOT NULL DEFAULT '',
646 isDefault TINYINT(1) NOT NULL DEFAULT 0,
647 hasContent TINYINT(1) NOT NULL DEFAULT 0,
648 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
649 locale VARCHAR(50) NOT NULL DEFAULT '',
650 UNIQUE KEY languageCode (languageCode)
651 );
652
653 DROP TABLE IF EXISTS wcf1_language_category;
654 CREATE TABLE wcf1_language_category (
655 languageCategoryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
656 languageCategory VARCHAR(191) NOT NULL DEFAULT '',
657 UNIQUE KEY languageCategory (languageCategory)
658 );
659
660 DROP TABLE IF EXISTS wcf1_language_item;
661 CREATE TABLE wcf1_language_item (
662 languageItemID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
663 languageID INT(10) NOT NULL,
664 languageItem VARCHAR(191) NOT NULL DEFAULT '',
665 languageItemValue MEDIUMTEXT NOT NULL,
666 languageCustomItemValue MEDIUMTEXT,
667 languageUseCustomValue TINYINT(1) NOT NULL DEFAULT 0,
668 languageItemOriginIsSystem TINYINT(1) NOT NULL DEFAULT 1,
669 languageCategoryID INT(10) NOT NULL,
670 packageID INT(10) NOT NULL,
671 languageItemOldValue MEDIUMTEXT,
672 languageCustomItemDisableTime INT(10),
673 isCustomLanguageItem TINYINT(1) NOT NULL DEFAULT 0,
674
675 UNIQUE KEY languageItem (languageItem, languageID),
676 KEY languageItemOriginIsSystem (languageItemOriginIsSystem)
677 );
678
679 DROP TABLE IF EXISTS wcf1_like;
680 CREATE TABLE wcf1_like (
681 likeID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
682 objectID INT(10) NOT NULL DEFAULT 0,
683 objectTypeID INT(10) NOT NULL,
684 objectUserID INT(10),
685 userID INT(10) NOT NULL,
686 time INT(10) NOT NULL DEFAULT 1,
687 likeValue TINYINT(1) NOT NULL DEFAULT 1,
688 reactionTypeID INT(10) NOT NULL,
689 UNIQUE KEY (objectTypeID, objectID, userID)
690 );
691
692 DROP TABLE IF EXISTS wcf1_like_object;
693 CREATE TABLE wcf1_like_object (
694 likeObjectID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
695 objectTypeID INT(10) NOT NULL,
696 objectID INT(10) NOT NULL DEFAULT 0,
697 objectUserID INT(10),
698 likes MEDIUMINT(7) NOT NULL DEFAULT 0,
699 dislikes MEDIUMINT(7) NOT NULL DEFAULT 0,
700 cumulativeLikes MEDIUMINT(7) NOT NULL DEFAULT 0,
701 cachedUsers TEXT,
702 cachedReactions TEXT,
703 UNIQUE KEY (objectTypeID, objectID)
704 );
705
706 DROP TABLE IF EXISTS wcf1_media;
707 CREATE TABLE wcf1_media (
708 mediaID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
709 categoryID INT(10),
710
711 filename VARCHAR(255) NOT NULL DEFAULT '',
712 filesize INT(10) NOT NULL DEFAULT 0,
713 fileType VARCHAR(255) NOT NULL DEFAULT '',
714 fileHash VARCHAR(255) NOT NULL DEFAULT '',
715 uploadTime INT(10) NOT NULL DEFAULT 0,
716 fileUpdateTime INT(10) NOT NULL DEFAULT 0,
717 userID INT(10),
718 username VARCHAR(255) NOT NULL,
719 languageID INT(10),
720 isMultilingual TINYINT(1) NOT NULL DEFAULT 0,
721 captionEnableHtml TINYINT(1) NOT NULL DEFAULT 0,
722
723 isImage TINYINT(1) NOT NULL DEFAULT 0,
724 width SMALLINT(5) NOT NULL DEFAULT 0,
725 height SMALLINT(5) NOT NULL DEFAULT 0,
726
727 tinyThumbnailType VARCHAR(255) NOT NULL DEFAULT '',
728 tinyThumbnailSize INT(10) NOT NULL DEFAULT 0,
729 tinyThumbnailWidth SMALLINT(5) NOT NULL DEFAULT 0,
730 tinyThumbnailHeight SMALLINT(5) NOT NULL DEFAULT 0,
731
732 smallThumbnailType VARCHAR(255) NOT NULL DEFAULT '',
733 smallThumbnailSize INT(10) NOT NULL DEFAULT 0,
734 smallThumbnailWidth SMALLINT(5) NOT NULL DEFAULT 0,
735 smallThumbnailHeight SMALLINT(5) NOT NULL DEFAULT 0,
736
737 mediumThumbnailType VARCHAR(255) NOT NULL DEFAULT '',
738 mediumThumbnailSize INT(10) NOT NULL DEFAULT 0,
739 mediumThumbnailWidth SMALLINT(5) NOT NULL DEFAULT 0,
740 mediumThumbnailHeight SMALLINT(5) NOT NULL DEFAULT 0,
741
742 largeThumbnailType VARCHAR(255) NOT NULL DEFAULT '',
743 largeThumbnailSize INT(10) NOT NULL DEFAULT 0,
744 largeThumbnailWidth SMALLINT(5) NOT NULL DEFAULT 0,
745 largeThumbnailHeight SMALLINT(5) NOT NULL DEFAULT 0,
746
747 downloads INT(10) NOT NULL DEFAULT 0,
748 lastDownloadTime INT(10) NOT NULL DEFAULT 0
749 );
750
751 DROP TABLE IF EXISTS wcf1_media_content;
752 CREATE TABLE wcf1_media_content (
753 mediaID INT(10) NOT NULL,
754 languageID INT(10),
755 title VARCHAR(255) NOT NULL,
756 caption TEXT,
757 altText VARCHAR(255) NOT NULL DEFAULT '',
758 UNIQUE KEY (mediaID, languageID)
759 );
760
761 DROP TABLE IF EXISTS wcf1_menu;
762 CREATE TABLE wcf1_menu (
763 menuID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
764 identifier VARCHAR(255) NOT NULL,
765 title VARCHAR(255) NOT NULL,
766 originIsSystem TINYINT(1) NOT NULL DEFAULT 0,
767 packageID INT(10) NOT NULL
768 );
769
770 DROP TABLE IF EXISTS wcf1_menu_item;
771 CREATE TABLE wcf1_menu_item (
772 itemID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
773 menuID INT(10) NOT NULL,
774 parentItemID INT(10),
775 identifier VARCHAR(255) NOT NULL,
776 title VARCHAR(255) NOT NULL,
777 pageID INT(10),
778 pageObjectID INT(10) NOT NULL DEFAULT 0,
779 externalURL VARCHAR(255) NOT NULL DEFAULT '',
780 showOrder INT(10) NOT NULL DEFAULT 0,
781 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
782 originIsSystem TINYINT(1) NOT NULL DEFAULT 0,
783 packageID INT(10) NOT NULL
784 );
785
786 DROP TABLE IF EXISTS wcf1_message_embedded_object;
787 CREATE TABLE wcf1_message_embedded_object (
788 messageObjectTypeID INT(10) NOT NULL,
789 messageID INT(10) NOT NULL,
790 embeddedObjectTypeID INT(10) NOT NULL,
791 embeddedObjectID INT(10) NOT NULL,
792
793 KEY (messageObjectTypeID, messageID)
794 );
795
796 DROP TABLE IF EXISTS wcf1_moderation_queue;
797 CREATE TABLE wcf1_moderation_queue (
798 queueID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
799 objectTypeID INT(10) NOT NULL,
800 objectID INT(10) NOT NULL,
801 containerID INT(10) NOT NULL DEFAULT 0,
802 userID INT(10) NULL,
803 time INT(10) NOT NULL DEFAULT 0,
804
805 -- internal
806 assignedUserID INT(10) NULL,
807 status TINYINT(1) NOT NULL DEFAULT 0,
808 comments SMALLINT(5) NOT NULL DEFAULT 0,
809 lastChangeTime INT(10) NOT NULL DEFAULT 0,
810
811 -- additional data, e.g. message if reporting content
812 additionalData TEXT,
813
814 KEY objectTypeAndID (objectTypeID, objectID)
815 );
816
817 DROP TABLE IF EXISTS wcf1_moderation_queue_to_user;
818 CREATE TABLE wcf1_moderation_queue_to_user (
819 queueID INT(10) NOT NULL,
820 userID INT(10) NOT NULL,
821 isAffected TINYINT(1) NOT NULL DEFAULT 0,
822
823 UNIQUE KEY queue (queueID, userID),
824 KEY affected (queueID, userID, isAffected)
825 );
826
827 DROP TABLE IF EXISTS wcf1_modification_log;
828 CREATE TABLE wcf1_modification_log (
829 logID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
830 objectTypeID INT(10) NOT NULL,
831 objectID INT(10) NOT NULL,
832 parentObjectID INT(10),
833 userID INT(10),
834 username VARCHAR(255) NOT NULL DEFAULT '',
835 time INT(10) NOT NULL DEFAULT 0,
836 action VARCHAR(80) NOT NULL,
837 hidden TINYINT(1) NOT NULL DEFAULT 1,
838 additionalData MEDIUMTEXT,
839
840 KEY objectTypeAndID (objectTypeID, objectID)
841 );
842
843 DROP TABLE IF EXISTS wcf1_notice;
844 CREATE TABLE wcf1_notice (
845 noticeID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
846 noticeName VARCHAR(255) NOT NULL,
847 notice MEDIUMTEXT,
848 noticeUseHtml TINYINT(1) NOT NULL DEFAULT 0,
849 cssClassName VARCHAR(255) NOT NULL DEFAULT 'info',
850 showOrder INT(10) NOT NULL DEFAULT 0,
851 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
852 isDismissible TINYINT(1) NOT NULL DEFAULT 0
853 );
854
855 DROP TABLE IF EXISTS wcf1_notice_dismissed;
856 CREATE TABLE wcf1_notice_dismissed (
857 noticeID INT(10) NOT NULL,
858 userID INT(10) NOT NULL,
859 PRIMARY KEY (noticeID, userID)
860 );
861
862 DROP TABLE IF EXISTS wcf1_object_type;
863 CREATE TABLE wcf1_object_type (
864 objectTypeID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
865 definitionID INT(10) NOT NULL,
866 packageID INT(10) NOT NULL,
867 objectType VARCHAR(191) NOT NULL,
868 className VARCHAR(255) NOT NULL DEFAULT '',
869 additionalData MEDIUMTEXT,
870 UNIQUE KEY objectType (objectType, definitionID, packageID)
871 );
872
873 DROP TABLE IF EXISTS wcf1_object_type_definition;
874 CREATE TABLE wcf1_object_type_definition (
875 definitionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
876 definitionName VARCHAR(191) NOT NULL,
877 packageID INT(10) NOT NULL,
878 interfaceName VARCHAR(255) NOT NULL DEFAULT '',
879 categoryName VARCHAR(80) NOT NULL DEFAULT '',
880 UNIQUE KEY definitionName (definitionName)
881 );
882
883 DROP TABLE IF EXISTS wcf1_option;
884 CREATE TABLE wcf1_option (
885 optionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
886 packageID INT(10) NOT NULL,
887 optionName VARCHAR(191) NOT NULL DEFAULT '',
888 categoryName VARCHAR(191) NOT NULL DEFAULT '',
889 optionType VARCHAR(255) NOT NULL DEFAULT '',
890 optionValue MEDIUMTEXT,
891 validationPattern TEXT,
892 selectOptions MEDIUMTEXT,
893 enableOptions MEDIUMTEXT,
894 showOrder INT(10) NOT NULL DEFAULT 0,
895 hidden TINYINT(1) NOT NULL DEFAULT 0,
896 permissions TEXT,
897 options TEXT,
898 supportI18n TINYINT(1) NOT NULL DEFAULT 0,
899 requireI18n TINYINT(1) NOT NULL DEFAULT 0,
900 additionalData MEDIUMTEXT,
901
902 UNIQUE KEY optionName (optionName)
903 );
904
905 DROP TABLE IF EXISTS wcf1_option_category;
906 CREATE TABLE wcf1_option_category (
907 categoryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
908 packageID INT(10) NOT NULL,
909 categoryName VARCHAR(191) NOT NULL DEFAULT '',
910 parentCategoryName VARCHAR(191) NOT NULL DEFAULT '',
911 showOrder INT(10) NOT NULL DEFAULT 0,
912 permissions TEXT,
913 options TEXT,
914 UNIQUE KEY categoryName (categoryName)
915 );
916
917 DROP TABLE IF EXISTS wcf1_package;
918 CREATE TABLE wcf1_package (
919 packageID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
920 package VARCHAR(191) NOT NULL DEFAULT '',
921 packageDir VARCHAR(255) NOT NULL DEFAULT '',
922 packageName VARCHAR(255) NOT NULL DEFAULT '',
923 packageDescription VARCHAR(255) NOT NULL DEFAULT '',
924 packageVersion VARCHAR(255) NOT NULL DEFAULT '',
925 packageDate INT(10) NOT NULL DEFAULT 0,
926 installDate INT(10) NOT NULL DEFAULT 0,
927 updateDate INT(10) NOT NULL DEFAULT 0,
928 packageURL VARCHAR(255) NOT NULL DEFAULT '',
929 isApplication TINYINT(1) NOT NULL DEFAULT 0,
930 author VARCHAR(255) NOT NULL DEFAULT '',
931 authorURL VARCHAR(255) NOT NULL DEFAULT '',
932 UNIQUE KEY package (package)
933 );
934
935 DROP TABLE IF EXISTS wcf1_package_audit_log;
936 CREATE TABLE wcf1_package_audit_log (
937 logID BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
938 payload MEDIUMTEXT NOT NULL,
939 time VARCHAR(255) NOT NULL,
940 wcfVersion VARCHAR(255) NOT NULL,
941 requestId VARCHAR(255) NOT NULL
942 );
943
944 DROP TABLE IF EXISTS wcf1_package_exclusion;
945 CREATE TABLE wcf1_package_exclusion (
946 packageID INT(10) NOT NULL,
947 excludedPackage VARCHAR(191) NOT NULL DEFAULT '',
948 excludedPackageVersion VARCHAR(255) NOT NULL DEFAULT '',
949 UNIQUE KEY packageID (packageID, excludedPackage)
950 );
951
952 DROP TABLE IF EXISTS wcf1_package_installation_file_log;
953 CREATE TABLE wcf1_package_installation_file_log (
954 packageID INT(10) NOT NULL,
955 filename VARBINARY(765) NOT NULL, -- VARBINARY(765) roughly equals VARCHAR(255)
956 application VARCHAR(20) NOT NULL,
957 sha256 VARBINARY(32) DEFAULT NULL,
958 lastUpdated BIGINT(20) DEFAULT NULL,
959 UNIQUE KEY applicationFile (application, filename)
960 );
961
962 DROP TABLE IF EXISTS wcf1_package_installation_form;
963 CREATE TABLE wcf1_package_installation_form (
964 queueID INT(10) NOT NULL,
965 formName VARCHAR(80) NOT NULL DEFAULT '',
966 document TEXT NOT NULL,
967 UNIQUE KEY formDocument (queueID, formName)
968 );
969
970 DROP TABLE IF EXISTS wcf1_package_installation_node;
971 CREATE TABLE wcf1_package_installation_node (
972 queueID INT(10) NOT NULL,
973 processNo INT(10) NOT NULL DEFAULT 0,
974 sequenceNo SMALLINT(4) NOT NULL DEFAULT 0,
975 node CHAR(8) NOT NULL DEFAULT '',
976 parentNode CHAR(8) NOT NULL DEFAULT '',
977 nodeType VARCHAR(255) NOT NULL,
978 nodeData TEXT NOT NULL,
979 done TINYINT(1) NOT NULL DEFAULT 0
980 );
981
982 DROP TABLE IF EXISTS wcf1_package_installation_plugin;
983 CREATE TABLE wcf1_package_installation_plugin (
984 pluginName VARCHAR(191) NOT NULL PRIMARY KEY,
985 packageID INT(10) NOT NULL,
986 priority TINYINT(1) NOT NULL DEFAULT 0,
987 className VARCHAR(255) NOT NULL
988 );
989
990 DROP TABLE IF EXISTS wcf1_package_installation_queue;
991 CREATE TABLE wcf1_package_installation_queue (
992 queueID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
993 parentQueueID INT(10) NOT NULL DEFAULT 0,
994 processNo INT(10) NOT NULL DEFAULT 0,
995 userID INT(10) NOT NULL,
996 package VARCHAR(255) NOT NULL DEFAULT '',
997 packageName VARCHAR(255) NOT NULL DEFAULT '',
998 packageID INT(10),
999 archive VARCHAR(255) NOT NULL DEFAULT '',
1000 action ENUM('install', 'update', 'uninstall') NOT NULL DEFAULT 'install',
1001 done TINYINT(1) NOT NULL DEFAULT 0,
1002 isApplication TINYINT(1) NOT NULL DEFAULT 0
1003 );
1004
1005 /* The table `wcf1_package_installation_sql_log` can be found at the very top! */
1006
1007 /* SQL_PARSER_OFFSET */
1008
1009 DROP TABLE IF EXISTS wcf1_package_requirement;
1010 CREATE TABLE wcf1_package_requirement (
1011 packageID INT(10) NOT NULL,
1012 requirement INT(10) NOT NULL,
1013 UNIQUE KEY packageID (packageID, requirement)
1014 );
1015
1016 DROP TABLE IF EXISTS wcf1_package_update;
1017 CREATE TABLE wcf1_package_update (
1018 packageUpdateID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1019 packageUpdateServerID INT(10) NOT NULL,
1020 package VARCHAR(191) NOT NULL DEFAULT '',
1021 packageName VARCHAR(255) NOT NULL DEFAULT '',
1022 packageDescription VARCHAR(255) NOT NULL DEFAULT '',
1023 author VARCHAR(255) NOT NULL DEFAULT '',
1024 authorURL VARCHAR(255) NOT NULL DEFAULT '',
1025 isApplication TINYINT(1) NOT NULL DEFAULT 0,
1026 pluginStoreFileID INT(10) NOT NULL DEFAULT 0,
1027 UNIQUE KEY packageUpdateServerID (packageUpdateServerID, package)
1028 );
1029
1030 DROP TABLE IF EXISTS wcf1_package_update_exclusion;
1031 CREATE TABLE wcf1_package_update_exclusion (
1032 packageUpdateVersionID INT(10) NOT NULL,
1033 excludedPackage VARCHAR(191) NOT NULL DEFAULT '',
1034 excludedPackageVersion VARCHAR(255) NOT NULL DEFAULT '',
1035 UNIQUE KEY packageUpdateVersionID (packageUpdateVersionID, excludedPackage)
1036 );
1037
1038 DROP TABLE IF EXISTS wcf1_package_update_fromversion;
1039 CREATE TABLE wcf1_package_update_fromversion (
1040 packageUpdateVersionID INT(10) NOT NULL DEFAULT 0,
1041 fromversion VARCHAR(50) NOT NULL DEFAULT '',
1042 UNIQUE KEY packageUpdateVersionID (packageUpdateVersionID, fromversion)
1043 );
1044
1045 DROP TABLE IF EXISTS wcf1_package_update_requirement;
1046 CREATE TABLE wcf1_package_update_requirement (
1047 packageUpdateVersionID INT(10) NOT NULL,
1048 package VARCHAR(191) NOT NULL DEFAULT '',
1049 minversion VARCHAR(50) NOT NULL DEFAULT '',
1050 UNIQUE KEY packageUpdateVersionID (packageUpdateVersionID, package)
1051 );
1052
1053 DROP TABLE IF EXISTS wcf1_package_update_server;
1054 CREATE TABLE wcf1_package_update_server (
1055 packageUpdateServerID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1056 serverURL VARCHAR(255) NOT NULL DEFAULT '',
1057 loginUsername VARCHAR(255) NOT NULL DEFAULT '',
1058 loginPassword VARCHAR(255) NOT NULL DEFAULT '',
1059 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
1060 lastUpdateTime INT(10) NOT NULL DEFAULT 0,
1061 status ENUM('online', 'offline') NOT NULL DEFAULT 'online',
1062 errorMessage TEXT,
1063 apiVersion ENUM('2.0', '2.1', '3.1') NOT NULL DEFAULT '2.0',
1064 metaData TEXT
1065 );
1066
1067 DROP TABLE IF EXISTS wcf1_package_update_version;
1068 CREATE TABLE wcf1_package_update_version (
1069 packageUpdateVersionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1070 packageUpdateID INT(10) NOT NULL,
1071 packageVersion VARCHAR(50) NOT NULL DEFAULT '',
1072 packageDate INT(10) NOT NULL DEFAULT 0,
1073 filename VARCHAR(255) NOT NULL DEFAULT '',
1074 license VARCHAR(255) NOT NULL DEFAULT '',
1075 licenseURL VARCHAR(255) NOT NULL DEFAULT '',
1076 isAccessible TINYINT(1) NOT NULL DEFAULT 1,
1077 UNIQUE KEY packageUpdateID (packageUpdateID, packageVersion)
1078 );
1079
1080 DROP TABLE IF EXISTS wcf1_page;
1081 CREATE TABLE wcf1_page (
1082 pageID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1083 parentPageID INT(10),
1084 identifier VARCHAR(255) NOT NULL,
1085 name VARCHAR(255) NOT NULL,
1086 pageType VARCHAR(255) NOT NULL,
1087 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
1088 isMultilingual TINYINT(1) NOT NULL DEFAULT 0,
1089 originIsSystem TINYINT(1) NOT NULL DEFAULT 0,
1090 packageID INT(10) NOT NULL,
1091 applicationPackageID INT(10),
1092 overrideApplicationPackageID INT(10),
1093 controller VARCHAR(255) NOT NULL DEFAULT '',
1094 handler VARCHAR(255) NOT NULL DEFAULT '',
1095 controllerCustomURL VARCHAR(255) NOT NULL DEFAULT '',
1096 requireObjectID TINYINT(1) NOT NULL DEFAULT 0,
1097 hasFixedParent TINYINT(1) NOT NULL DEFAULT 0,
1098 lastUpdateTime INT(10) NOT NULL DEFAULT 0,
1099 cssClassName VARCHAR(255) NOT NULL DEFAULT '',
1100 availableDuringOfflineMode TINYINT(1) NOT NULL DEFAULT 0,
1101 allowSpidersToIndex TINYINT(1) NOT NULL DEFAULT 0,
1102 excludeFromLandingPage TINYINT(1) NOT NULL DEFAULT 0,
1103 enableShareButtons TINYINT(1) NOT NULL DEFAULT 0,
1104 permissions TEXT NULL,
1105 options TEXT NULL,
1106 invertPermissions TINYINT(1) NOT NULL DEFAULT 0
1107 );
1108
1109 DROP TABLE IF EXISTS wcf1_page_box_order;
1110 CREATE TABLE wcf1_page_box_order (
1111 pageID INT(10) NOT NULL,
1112 boxID INT(10) NOT NULL,
1113 showOrder INT(10) NOT NULL DEFAULT 0,
1114 UNIQUE KEY pageToBox (pageID, boxID)
1115 );
1116
1117 DROP TABLE IF EXISTS wcf1_page_content;
1118 CREATE TABLE wcf1_page_content (
1119 pageContentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1120 pageID INT(10) NOT NULL,
1121 languageID INT(10),
1122 title VARCHAR(255) NOT NULL,
1123 content MEDIUMTEXT,
1124 metaDescription TEXT,
1125 customURL VARCHAR(255) NOT NULL,
1126 hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0,
1127
1128 UNIQUE KEY (pageID, languageID)
1129 );
1130
1131 DROP TABLE IF EXISTS wcf1_paid_subscription;
1132 CREATE TABLE wcf1_paid_subscription (
1133 subscriptionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1134 title VARCHAR(255) NOT NULL DEFAULT '',
1135 description TEXT,
1136 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
1137 showOrder INT(10) NOT NULL DEFAULT 0,
1138 cost DECIMAL(10,2) NOT NULL DEFAULT 0,
1139 currency VARCHAR(3) NOT NULL DEFAULT 'EUR',
1140 subscriptionLength SMALLINT(3) NOT NULL DEFAULT 0,
1141 subscriptionLengthUnit ENUM('', 'D', 'M', 'Y') NOT NULL DEFAULT '',
1142 isRecurring TINYINT(1) NOT NULL DEFAULT 0,
1143 groupIDs TEXT,
1144 excludedSubscriptionIDs TEXT
1145 );
1146
1147 DROP TABLE IF EXISTS wcf1_paid_subscription_user;
1148 CREATE TABLE wcf1_paid_subscription_user (
1149 subscriptionUserID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1150 subscriptionID INT(10) NOT NULL,
1151 userID INT(10) NOT NULL,
1152 startDate INT(10) NOT NULL DEFAULT 0,
1153 endDate INT(10) NOT NULL DEFAULT 0,
1154 isActive TINYINT(1) NOT NULL DEFAULT 1,
1155 sentExpirationNotification TINYINT(1) NOT NULL DEFAULT 0,
1156
1157 UNIQUE KEY (subscriptionID, userID),
1158 KEY (isActive)
1159 );
1160
1161 DROP TABLE IF EXISTS wcf1_paid_subscription_transaction_log;
1162 CREATE TABLE wcf1_paid_subscription_transaction_log (
1163 logID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1164 subscriptionUserID INT(10),
1165 userID INT(10),
1166 subscriptionID INT(10),
1167 paymentMethodObjectTypeID INT(10) NOT NULL,
1168 logTime INT(10) NOT NULL DEFAULT 0,
1169 transactionID VARCHAR(255) NOT NULL DEFAULT '',
1170 transactionDetails MEDIUMTEXT,
1171 logMessage VARCHAR(255) NOT NULL DEFAULT ''
1172 );
1173
1174 DROP TABLE IF EXISTS wcf1_poll;
1175 CREATE TABLE wcf1_poll (
1176 pollID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1177 objectTypeID INT(10) NOT NULL,
1178 objectID INT(10) NOT NULL DEFAULT 0,
1179 question VARCHAR(255) DEFAULT '',
1180 time INT(10) NOT NULL DEFAULT 0,
1181 endTime INT(10) NOT NULL DEFAULT 0,
1182 isChangeable TINYINT(1) NOT NULL DEFAULT 0,
1183 isPublic TINYINT(1) NOT NULL DEFAULT 0,
1184 sortByVotes TINYINT(1) NOT NULL DEFAULT 0,
1185 resultsRequireVote TINYINT(1) NOT NULL DEFAULT 0,
1186 maxVotes INT(10) NOT NULL DEFAULT 1,
1187 votes INT(10) NOT NULL DEFAULT 0
1188 );
1189
1190 DROP TABLE IF EXISTS wcf1_poll_option;
1191 CREATE TABLE wcf1_poll_option (
1192 optionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1193 pollID INT(10) NOT NULL,
1194 optionValue VARCHAR(255) NOT NULL DEFAULT '',
1195 votes INT(10) NOT NULL DEFAULT 0,
1196 showOrder INT(10) NOT NULL DEFAULT 0
1197 );
1198
1199 DROP TABLE IF EXISTS wcf1_poll_option_vote;
1200 CREATE TABLE wcf1_poll_option_vote (
1201 pollID INT(10) NOT NULL,
1202 optionID INT(10) NOT NULL,
1203 userID INT(10) NOT NULL,
1204
1205 KEY (optionID, userID),
1206 UNIQUE KEY vote (pollID, optionID, userID)
1207 );
1208
1209 DROP TABLE IF EXISTS wcf1_reaction_type;
1210 CREATE TABLE wcf1_reaction_type (
1211 reactionTypeID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1212 title VARCHAR(255) NOT NULL,
1213 showOrder INT(10) NOT NULL DEFAULT 0,
1214 iconFile VARCHAR(255) NOT NULL DEFAULT '',
1215 isAssignable TINYINT(1) NOT NULL DEFAULT 1
1216 );
1217
1218 DROP TABLE IF EXISTS wcf1_registry;
1219 CREATE TABLE wcf1_registry (
1220 packageID INT(10) NOT NULL,
1221 field VARCHAR(191) NOT NULL,
1222 fieldValue MEDIUMTEXT,
1223
1224 UNIQUE KEY uniqueField (packageID, field)
1225 );
1226
1227 DROP TABLE IF EXISTS wcf1_search;
1228 CREATE TABLE wcf1_search (
1229 searchID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1230 userID INT(10),
1231 searchData MEDIUMTEXT NOT NULL,
1232 searchTime INT(10) NOT NULL DEFAULT 0,
1233 searchType VARCHAR(255) NOT NULL DEFAULT '',
1234 searchHash CHAR(40) NOT NULL DEFAULT '',
1235 KEY searchHash (searchHash)
1236 );
1237
1238 DROP TABLE IF EXISTS wcf1_search_keyword;
1239 CREATE TABLE wcf1_search_keyword (
1240 keywordID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1241 keyword VARCHAR(191) NOT NULL,
1242 searches INT(10) NOT NULL DEFAULT 0,
1243 lastSearchTime INT(10) NOT NULL DEFAULT 0,
1244 UNIQUE KEY (keyword),
1245 KEY (searches, lastSearchTime)
1246 );
1247
1248 DROP TABLE IF EXISTS wcf1_session;
1249 CREATE TABLE wcf1_session (
1250 sessionID CHAR(40) NOT NULL PRIMARY KEY,
1251 userID INT(10),
1252 ipAddress VARCHAR(39) NOT NULL DEFAULT '',
1253 userAgent VARCHAR(191) NOT NULL DEFAULT '',
1254 lastActivityTime INT(10) NOT NULL DEFAULT 0,
1255 requestURI VARCHAR(255) NOT NULL DEFAULT '',
1256 requestMethod VARCHAR(7) NOT NULL DEFAULT '',
1257 pageID INT(10),
1258 pageObjectID INT(10),
1259 parentPageID INT(10),
1260 parentPageObjectID INT(10),
1261 spiderID INT(10),
1262 KEY packageID (lastActivityTime, spiderID),
1263 KEY pageID (pageID, pageObjectID),
1264 KEY parentPageID (parentPageID, parentPageObjectID),
1265 UNIQUE KEY uniqueUserID (userID)
1266 );
1267
1268 DROP TABLE IF EXISTS wcf1_smiley;
1269 CREATE TABLE wcf1_smiley (
1270 smileyID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1271 packageID INT(10) NOT NULL,
1272 categoryID INT(10),
1273 smileyPath VARCHAR(255) NOT NULL DEFAULT '',
1274 smileyPath2x VARCHAR(255) NOT NULL DEFAULT '',
1275 smileyTitle VARCHAR(255) NOT NULL DEFAULT '',
1276 smileyCode VARCHAR(191) NOT NULL DEFAULT '',
1277 aliases TEXT NOT NULL,
1278 showOrder INT(10) NOT NULL DEFAULT 0,
1279 UNIQUE KEY smileyCode (smileyCode)
1280 );
1281
1282 DROP TABLE IF EXISTS wcf1_spider;
1283 CREATE TABLE wcf1_spider (
1284 spiderID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1285 spiderIdentifier VARCHAR(191) DEFAULT '',
1286 spiderName VARCHAR(255) DEFAULT '',
1287 spiderURL VARCHAR(255) DEFAULT '',
1288 UNIQUE KEY spiderIdentifier (spiderIdentifier)
1289 );
1290
1291 DROP TABLE IF EXISTS wcf1_stat_daily;
1292 CREATE TABLE wcf1_stat_daily (
1293 statID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1294 objectTypeID INT(10) NOT NULL,
1295 date DATE NOT NULL,
1296 counter INT(10) NOT NULL DEFAULT 0,
1297 total INT(10) NOT NULL DEFAULT 0,
1298
1299 UNIQUE KEY (objectTypeID, date)
1300 );
1301
1302 DROP TABLE IF EXISTS wcf1_style;
1303 CREATE TABLE wcf1_style (
1304 styleID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1305 packageID INT(10) NOT NULL,
1306 styleName VARCHAR(255) NOT NULL DEFAULT '',
1307 templateGroupID INT(10) NOT NULL DEFAULT 0,
1308 isDefault TINYINT(1) NOT NULL DEFAULT 0,
1309 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
1310 styleDescription VARCHAR(30) NOT NULL DEFAULT '',
1311 styleVersion VARCHAR(255) NOT NULL DEFAULT '',
1312 styleDate CHAR(10) NOT NULL DEFAULT '0000-00-00',
1313 image VARCHAR(255) NOT NULL DEFAULT '',
1314 image2x VARCHAR(255) NOT NULL DEFAULT '',
1315 copyright VARCHAR(255) NOT NULL DEFAULT '',
1316 license VARCHAR(255) NOT NULL DEFAULT '',
1317 authorName VARCHAR(255) NOT NULL DEFAULT '',
1318 authorURL VARCHAR(255) NOT NULL DEFAULT '',
1319 imagePath VARCHAR(255) NOT NULL DEFAULT '',
1320 packageName VARCHAR(255) NOT NULL DEFAULT '',
1321 isTainted TINYINT(1) NOT NULL DEFAULT 0,
1322 hasFavicon TINYINT(1) NOT NULL DEFAULT 0,
1323 coverPhotoExtension VARCHAR(4) NOT NULL DEFAULT ''
1324 );
1325
1326 DROP TABLE IF EXISTS wcf1_style_variable;
1327 CREATE TABLE wcf1_style_variable (
1328 variableID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1329 variableName VARCHAR(50) NOT NULL,
1330 defaultValue MEDIUMTEXT,
1331 UNIQUE KEY variableName (variableName)
1332 );
1333
1334 DROP TABLE IF EXISTS wcf1_style_variable_value;
1335 CREATE TABLE wcf1_style_variable_value (
1336 styleID INT(10) NOT NULL,
1337 variableID INT(10) NOT NULL,
1338 variableValue MEDIUMTEXT,
1339 UNIQUE KEY (styleID, variableID)
1340 );
1341
1342 DROP TABLE IF EXISTS wcf1_tag;
1343 CREATE TABLE wcf1_tag (
1344 tagID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1345 languageID INT(10) NOT NULL DEFAULT 0,
1346 name VARCHAR(191) NOT NULL,
1347 synonymFor INT(10),
1348 UNIQUE KEY (languageID, name)
1349 );
1350
1351 DROP TABLE IF EXISTS wcf1_tag_to_object;
1352 CREATE TABLE wcf1_tag_to_object (
1353 objectID INT(10) NOT NULL,
1354 tagID INT(10) NOT NULL,
1355 objectTypeID INT(10) NOT NULL,
1356 languageID INT(10) NOT NULL,
1357 PRIMARY KEY (objectTypeID, objectID, tagID),
1358 KEY (objectTypeID, tagID),
1359 KEY (tagID)
1360 );
1361
1362 DROP TABLE IF EXISTS wcf1_template;
1363 CREATE TABLE wcf1_template (
1364 templateID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1365 packageID INT(10) NOT NULL,
1366 templateName VARCHAR(191) NOT NULL,
1367 application VARCHAR(20) NOT NULL,
1368 templateGroupID INT(10),
1369 lastModificationTime INT(10) NOT NULL DEFAULT 0,
1370 UNIQUE KEY applicationTemplate (application, templateGroupID, templateName),
1371 KEY templateGroupID (packageID, templateGroupID, templateName)
1372 );
1373
1374 DROP TABLE IF EXISTS wcf1_template_group;
1375 CREATE TABLE wcf1_template_group (
1376 templateGroupID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1377 parentTemplateGroupID INT(10),
1378 templateGroupName VARCHAR(255) NOT NULL DEFAULT '',
1379 templateGroupFolderName VARCHAR(255) NOT NULL DEFAULT ''
1380 );
1381
1382 DROP TABLE IF EXISTS wcf1_template_listener;
1383 CREATE TABLE wcf1_template_listener (
1384 listenerID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1385 packageID INT(10) NOT NULL,
1386 name VARCHAR(80) NOT NULL DEFAULT '',
1387 environment ENUM('user','admin') NOT NULL DEFAULT 'user',
1388 templateName VARCHAR(80) NOT NULL DEFAULT '',
1389 eventName VARCHAR(50) NOT NULL DEFAULT '',
1390 templateCode TEXT NOT NULL,
1391 niceValue TINYINT(3) NOT NULL DEFAULT 0,
1392 permissions TEXT,
1393 options TEXT,
1394
1395 KEY templateName (environment, templateName)
1396 );
1397
1398 /* SQL_PARSER_OFFSET */
1399
1400 DROP TABLE IF EXISTS wcf1_tracked_visit;
1401 CREATE TABLE wcf1_tracked_visit (
1402 objectTypeID INT(10) NOT NULL,
1403 objectID INT(10) NOT NULL,
1404 userID INT(10) NOT NULL,
1405 visitTime INT(10) NOT NULL DEFAULT 0,
1406 UNIQUE KEY (objectTypeID, objectID, userID),
1407 KEY (userID, visitTime)
1408 );
1409
1410 DROP TABLE IF EXISTS wcf1_tracked_visit_type;
1411 CREATE TABLE wcf1_tracked_visit_type (
1412 objectTypeID INT(10) NOT NULL,
1413 userID INT(10) NOT NULL,
1414 visitTime INT(10) NOT NULL DEFAULT 0,
1415 UNIQUE KEY (objectTypeID, userID),
1416 KEY (userID, visitTime)
1417 );
1418
1419 DROP TABLE IF EXISTS wcf1_trophy;
1420 CREATE TABLE wcf1_trophy(
1421 trophyID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1422 title VARCHAR(255),
1423 description MEDIUMTEXT,
1424 categoryID INT(10) NOT NULL,
1425 type SMALLINT(1) DEFAULT 1,
1426 iconFile MEDIUMTEXT,
1427 iconName VARCHAR(255),
1428 iconColor VARCHAR(255),
1429 badgeColor VARCHAR(255),
1430 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
1431 awardAutomatically TINYINT(1) NOT NULL DEFAULT 0,
1432 revokeAutomatically TINYINT(1) NOT NULL DEFAULT 0,
1433 trophyUseHtml TINYINT(1) NOT NULL DEFAULT 0,
1434 showOrder INT(10) NOT NULL DEFAULT 0,
1435 KEY(categoryID)
1436 );
1437
1438 DROP TABLE IF EXISTS wcf1_unfurl_url;
1439 CREATE TABLE wcf1_unfurl_url (
1440 urlID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1441 url TEXT NOT NULL,
1442 urlHash VARCHAR(40) NOT NULL,
1443 title VARCHAR(255) NOT NULL DEFAULT '',
1444 description TEXT,
1445 imageID INT(10),
1446 status VARCHAR(255) NOT NULL DEFAULT 'PENDING',
1447 lastFetch INT(10) NOT NULL DEFAULT 0,
1448
1449 UNIQUE KEY urlHash (urlHash)
1450 );
1451
1452 DROP TABLE IF EXISTS wcf1_unfurl_url_image;
1453 CREATE TABLE wcf1_unfurl_url_image (
1454 imageID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1455 imageUrl TEXT NOT NULL,
1456 imageUrlHash VARCHAR(40) DEFAULT NULL,
1457 width INT(10) NOT NULL,
1458 height INT(10) NOT NULL,
1459 imageExtension VARCHAR(4) DEFAULT NULL,
1460 isStored TINYINT(1) NOT NULL DEFAULT 0,
1461
1462 UNIQUE KEY imageUrlHash (imageUrlHash)
1463 );
1464
1465 DROP TABLE IF EXISTS wcf1_user;
1466 CREATE TABLE wcf1_user (
1467 userID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1468 username VARCHAR(100) NOT NULL DEFAULT '',
1469 email VARCHAR(191) NOT NULL DEFAULT '',
1470 password VARCHAR(255) NOT NULL DEFAULT 'invalid:',
1471 accessToken CHAR(40) NOT NULL DEFAULT '',
1472 multifactorActive TINYINT(1) NOT NULL DEFAULT 0,
1473 languageID INT(10) NOT NULL DEFAULT 0,
1474 registrationDate INT(10) NOT NULL DEFAULT 0,
1475 styleID INT(10) NOT NULL DEFAULT 0,
1476 banned TINYINT(1) NOT NULL DEFAULT 0,
1477 banReason MEDIUMTEXT NULL,
1478 banExpires INT(10) NOT NULL DEFAULT 0,
1479 activationCode INT(10) NOT NULL DEFAULT 0,
1480 emailConfirmed CHAR(40) DEFAULT NULL,
1481 lastLostPasswordRequestTime INT(10) NOT NULL DEFAULT 0,
1482 lostPasswordKey CHAR(40) DEFAULT NULL,
1483 lastUsernameChange INT(10) NOT NULL DEFAULT 0,
1484 newEmail VARCHAR(255) NOT NULL DEFAULT '',
1485 oldUsername VARCHAR(255) NOT NULL DEFAULT '',
1486 quitStarted INT(10) NOT NULL DEFAULT 0,
1487 reactivationCode INT(10) NOT NULL DEFAULT 0,
1488 registrationIpAddress VARCHAR(39) NOT NULL DEFAULT '',
1489 avatarID INT(10),
1490 disableAvatar TINYINT(1) NOT NULL DEFAULT 0,
1491 disableAvatarReason TEXT,
1492 disableAvatarExpires INT(10) NOT NULL DEFAULT 0,
1493 signature TEXT,
1494 signatureEnableHtml TINYINT(1) NOT NULL DEFAULT 0,
1495 disableSignature TINYINT(1) NOT NULL DEFAULT 0,
1496 disableSignatureReason TEXT,
1497 disableSignatureExpires INT(10) NOT NULL DEFAULT 0,
1498 lastActivityTime INT(10) NOT NULL DEFAULT 0,
1499 profileHits INT(10) NOT NULL DEFAULT 0,
1500 rankID INT(10),
1501 userTitle VARCHAR(255) NOT NULL DEFAULT '',
1502 userOnlineGroupID INT(10),
1503 activityPoints INT(10) NOT NULL DEFAULT 0,
1504 notificationMailToken VARCHAR(20) NOT NULL DEFAULT '',
1505 authData VARCHAR(191) NOT NULL DEFAULT '',
1506 likesReceived MEDIUMINT(7) NOT NULL DEFAULT 0,
1507 trophyPoints INT(10) NOT NULL DEFAULT 0,
1508 coverPhotoHash CHAR(40) DEFAULT NULL,
1509 coverPhotoExtension VARCHAR(4) NOT NULL DEFAULT '',
1510 coverPhotoHasWebP TINYINT(1) NOT NULL DEFAULT 0,
1511 disableCoverPhoto TINYINT(1) NOT NULL DEFAULT 0,
1512 disableCoverPhotoReason TEXT,
1513 disableCoverPhotoExpires INT(10) NOT NULL DEFAULT 0,
1514 articles INT(10) NOT NULL DEFAULT 0,
1515 blacklistMatches VARCHAR(255) NOT NULL DEFAULT '',
1516
1517 UNIQUE KEY username (username),
1518 KEY email (email),
1519 KEY registrationDate (registrationDate),
1520 KEY styleID (styleID),
1521 KEY activationCode (activationCode),
1522 KEY registrationData (registrationIpAddress, registrationDate),
1523 KEY activityPoints (activityPoints),
1524 KEY likesReceived (likesReceived),
1525 KEY authData (authData),
1526 KEY trophyPoints (trophyPoints)
1527 );
1528
1529 DROP TABLE IF EXISTS wcf1_user_activity_event;
1530 CREATE TABLE wcf1_user_activity_event (
1531 eventID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1532 objectTypeID INT(10) NOT NULL,
1533 objectID INT(10) NOT NULL,
1534 languageID INT(10),
1535 userID INT(10) NOT NULL,
1536 time INT(10) NOT NULL,
1537 additionalData TEXT,
1538
1539 KEY (time),
1540 KEY (userID, time),
1541 KEY (objectTypeID, objectID)
1542 );
1543
1544 DROP TABLE IF EXISTS wcf1_user_activity_point;
1545 CREATE TABLE wcf1_user_activity_point (
1546 userID INT(10) NOT NULL,
1547 objectTypeID INT(10) NOT NULL,
1548 activityPoints INT(10) NOT NULL DEFAULT 0,
1549 items INT(10) NOT NULL DEFAULT 0,
1550 PRIMARY KEY (userID, objectTypeID),
1551 KEY (objectTypeID)
1552 );
1553
1554 DROP TABLE IF EXISTS wcf1_user_authentication_failure;
1555 CREATE TABLE wcf1_user_authentication_failure (
1556 failureID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1557 environment ENUM('user', 'admin') NOT NULL DEFAULT 'user',
1558 userID INT(10),
1559 username VARCHAR(255) NOT NULL DEFAULT '',
1560 time INT(10) NOT NULL DEFAULT 0,
1561 ipAddress VARCHAR(39) NOT NULL DEFAULT '',
1562 userAgent VARCHAR(255) NOT NULL DEFAULT '',
1563 validationError VARCHAR(255) NOT NULL DEFAULT '',
1564 KEY (ipAddress, time),
1565 KEY (time)
1566 );
1567
1568 DROP TABLE IF EXISTS wcf1_user_avatar;
1569 CREATE TABLE wcf1_user_avatar (
1570 avatarID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1571 avatarName VARCHAR(255) NOT NULL DEFAULT '',
1572 avatarExtension VARCHAR(7) NOT NULL DEFAULT '',
1573 width SMALLINT(5) NOT NULL DEFAULT 0,
1574 height SMALLINT(5) NOT NULL DEFAULT 0,
1575 userID INT(10),
1576 fileHash VARCHAR(40) NOT NULL DEFAULT '',
1577 hasWebP TINYINT(1) NOT NULL DEFAULT 0
1578 );
1579
1580 DROP TABLE IF EXISTS wcf1_user_collapsible_content;
1581 CREATE TABLE wcf1_user_collapsible_content (
1582 objectTypeID INT(10) NOT NULL,
1583 objectID VARCHAR(191) NOT NULL,
1584 userID INT(10) NOT NULL,
1585 UNIQUE KEY (objectTypeID, objectID, userID)
1586 );
1587
1588 DROP TABLE IF EXISTS wcf1_user_follow;
1589 CREATE TABLE wcf1_user_follow (
1590 followID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1591 userID INT(10) NOT NULL,
1592 followUserID INT(10) NOT NULL,
1593 time INT(10) NOT NULL DEFAULT 0,
1594 UNIQUE KEY (userID, followUserID)
1595 );
1596
1597 DROP TABLE IF EXISTS wcf1_user_group;
1598 CREATE TABLE wcf1_user_group (
1599 groupID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1600 groupName VARCHAR(255) NOT NULL DEFAULT '',
1601 groupDescription TEXT,
1602 groupType TINYINT(1) NOT NULL DEFAULT 4,
1603 priority MEDIUMINT(8) NOT NULL DEFAULT 0,
1604 userOnlineMarking VARCHAR(255) NOT NULL DEFAULT '%s',
1605 showOnTeamPage TINYINT(1) NOT NULL DEFAULT 0,
1606 allowMention TINYINT(1) NOT NULL DEFAULT 0,
1607 requireMultifactor TINYINT(1) NOT NULL DEFAULT 0
1608 );
1609
1610 DROP TABLE IF EXISTS wcf1_user_group_assignment;
1611 CREATE TABLE wcf1_user_group_assignment (
1612 assignmentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1613 groupID INT(10) NOT NULL,
1614 title VARCHAR(255) NOT NULL,
1615 isDisabled TINYINT(1) NOT NULL DEFAULT 0
1616 );
1617
1618 DROP TABLE IF EXISTS wcf1_user_group_option;
1619 CREATE TABLE wcf1_user_group_option (
1620 optionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1621 packageID INT(10) NOT NULL,
1622 optionName VARCHAR(191) NOT NULL DEFAULT '',
1623 categoryName VARCHAR(191) NOT NULL DEFAULT '',
1624 optionType VARCHAR(255) NOT NULL DEFAULT '',
1625 defaultValue MEDIUMTEXT,
1626 validationPattern TEXT,
1627 enableOptions MEDIUMTEXT,
1628 showOrder INT(10) NOT NULL DEFAULT 0,
1629 permissions TEXT,
1630 options TEXT,
1631 usersOnly TINYINT(1) NOT NULL DEFAULT 0,
1632 additionalData MEDIUMTEXT,
1633 UNIQUE KEY optionName (optionName, packageID)
1634 );
1635
1636 DROP TABLE IF EXISTS wcf1_user_group_option_category;
1637 CREATE TABLE wcf1_user_group_option_category (
1638 categoryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1639 packageID INT(10) NOT NULL,
1640 categoryName VARCHAR(191) NOT NULL DEFAULT '',
1641 parentCategoryName VARCHAR(191) NOT NULL DEFAULT '',
1642 showOrder INT(10) NOT NULL DEFAULT 0,
1643 permissions TEXT,
1644 options TEXT,
1645 UNIQUE KEY categoryName (categoryName)
1646 );
1647
1648 DROP TABLE IF EXISTS wcf1_user_group_option_value;
1649 CREATE TABLE wcf1_user_group_option_value (
1650 groupID INT(10) NOT NULL,
1651 optionID INT(10) NOT NULL,
1652 optionValue MEDIUMTEXT NOT NULL,
1653 UNIQUE KEY groupID (groupID, optionID)
1654 );
1655
1656 DROP TABLE IF EXISTS wcf1_user_ignore;
1657 CREATE TABLE wcf1_user_ignore (
1658 ignoreID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1659 userID INT(10) NOT NULL,
1660 ignoreUserID INT(10) NOT NULL,
1661 time INT(10) NOT NULL DEFAULT 0,
1662 type TINYINT(1) NOT NULL DEFAULT 1,
1663 UNIQUE KEY (userID, ignoreUserID)
1664 );
1665
1666 DROP TABLE IF EXISTS wcf1_user_special_trophy;
1667 CREATE TABLE wcf1_user_special_trophy(
1668 trophyID INT(10) NOT NULL,
1669 userID INT(10) NOT NULL,
1670 UNIQUE KEY (trophyID, userID)
1671 );
1672
1673 DROP TABLE IF EXISTS wcf1_user_trophy;
1674 CREATE TABLE wcf1_user_trophy(
1675 userTrophyID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1676 trophyID INT(10) NOT NULL,
1677 userID INT(10) NOT NULL,
1678 time INT(10) NOT NULL DEFAULT 0,
1679 description MEDIUMTEXT,
1680 useCustomDescription TINYINT(1) NOT NULL DEFAULT 0,
1681 trophyUseHtml TINYINT(1) NOT NULL DEFAULT 0,
1682 KEY(trophyID, time)
1683 );
1684
1685 DROP TABLE IF EXISTS wcf1_user_menu_item;
1686 CREATE TABLE wcf1_user_menu_item (
1687 menuItemID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1688 packageID INT(10) NOT NULL,
1689 menuItem VARCHAR(191) NOT NULL DEFAULT '',
1690 parentMenuItem VARCHAR(191) NOT NULL DEFAULT '',
1691 menuItemController VARCHAR(255) NOT NULL DEFAULT '',
1692 menuItemLink VARCHAR(255) NOT NULL DEFAULT '',
1693 showOrder INT(10) NOT NULL DEFAULT 0,
1694 permissions TEXT,
1695 options TEXT,
1696 className VARCHAR(255) NOT NULL DEFAULT '',
1697 iconClassName VARCHAR(255) NOT NULL DEFAULT '',
1698 UNIQUE KEY menuItem (menuItem, packageID)
1699 );
1700
1701 DROP TABLE IF EXISTS wcf1_user_multifactor;
1702 CREATE TABLE wcf1_user_multifactor (
1703 setupID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1704 userID INT(10) NOT NULL,
1705 objectTypeID INT(10) NOT NULL,
1706 UNIQUE KEY (userID, objectTypeID)
1707 );
1708
1709 DROP TABLE IF EXISTS wcf1_user_multifactor_backup;
1710 CREATE TABLE wcf1_user_multifactor_backup (
1711 setupID INT(10) NOT NULL,
1712 identifier VARCHAR(191) NOT NULL,
1713 code VARCHAR(255) NOT NULL,
1714 createTime INT(10) NOT NULL,
1715 useTime INT(10) DEFAULT NULL,
1716
1717 UNIQUE KEY (setupID, identifier)
1718 );
1719
1720 DROP TABLE IF EXISTS wcf1_user_multifactor_email;
1721 CREATE TABLE wcf1_user_multifactor_email (
1722 setupID INT(10) NOT NULL,
1723 code VARCHAR(191) NOT NULL,
1724 createTime INT(10) NOT NULL,
1725
1726 UNIQUE KEY (setupID, code)
1727 );
1728
1729 DROP TABLE IF EXISTS wcf1_user_multifactor_totp;
1730 CREATE TABLE wcf1_user_multifactor_totp (
1731 setupID INT(10) NOT NULL,
1732 deviceID VARCHAR(191) NOT NULL,
1733 deviceName VARCHAR(255) NOT NULL,
1734 secret VARBINARY(255) NOT NULL,
1735 minCounter INT(10) NOT NULL,
1736 createTime INT(10) NOT NULL,
1737 useTime INT(10) DEFAULT NULL,
1738
1739 UNIQUE KEY (setupID, deviceID)
1740 );
1741
1742 -- notifications
1743 DROP TABLE IF EXISTS wcf1_user_notification;
1744 CREATE TABLE wcf1_user_notification (
1745 notificationID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1746 packageID INT(10) NOT NULL,
1747 eventID INT(10) NOT NULL,
1748 objectID INT(10) NOT NULL DEFAULT 0,
1749 baseObjectID INT(10) NOT NULL DEFAULT 0,
1750 eventHash VARCHAR(40) NOT NULL DEFAULT '',
1751 authorID INT(10) NULL,
1752 timesTriggered INT(10) NOT NULL DEFAULT 0,
1753 guestTimesTriggered INT(10) NOT NULL DEFAULT 0,
1754 userID INT(10) NOT NULL,
1755 time INT(10) NOT NULL DEFAULT 0,
1756 mailNotified TINYINT(1) NOT NULL DEFAULT 0,
1757 confirmTime INT(10) NOT NULL DEFAULT 0,
1758 additionalData TEXT,
1759 KEY (userID, eventID, objectID, confirmTime),
1760 KEY (userID, confirmTime),
1761 KEY (confirmTime)
1762 );
1763
1764 -- notification authors (stacking)
1765 DROP TABLE IF EXISTS wcf1_user_notification_author;
1766 CREATE TABLE wcf1_user_notification_author (
1767 notificationID INT(10) NOT NULL,
1768 authorID INT(10),
1769 time INT(10) NOT NULL DEFAULT 0,
1770 UNIQUE KEY (notificationID, authorID)
1771 );
1772
1773 -- events that create notifications
1774 DROP TABLE IF EXISTS wcf1_user_notification_event;
1775 CREATE TABLE wcf1_user_notification_event (
1776 eventID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1777 packageID INT(10) NOT NULL,
1778 eventName VARCHAR(191) NOT NULL DEFAULT '',
1779 objectTypeID INT(10) NOT NULL,
1780 className VARCHAR(255) NOT NULL DEFAULT '',
1781 permissions TEXT,
1782 options TEXT,
1783 preset TINYINT(1) NOT NULL DEFAULT 0,
1784 presetMailNotificationType ENUM('none', 'instant', 'daily') NOT NULL DEFAULT 'none',
1785 UNIQUE KEY eventName (eventName, objectTypeID)
1786 );
1787
1788 -- user configuration for events
1789 DROP TABLE IF EXISTS wcf1_user_notification_event_to_user;
1790 CREATE TABLE wcf1_user_notification_event_to_user (
1791 userID INT(10) NOT NULL,
1792 eventID INT(10) NOT NULL,
1793 mailNotificationType ENUM('none', 'instant', 'daily') NOT NULL DEFAULT 'none',
1794 UNIQUE KEY (eventID, userID)
1795 );
1796
1797 DROP TABLE IF EXISTS wcf1_user_object_watch;
1798 CREATE TABLE wcf1_user_object_watch (
1799 watchID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1800 objectTypeID INT(10) NOT NULL,
1801 objectID INT(10) NOT NULL,
1802 userID INT(10) NOT NULL,
1803 notification TINYINT(1) NOT NULL DEFAULT 0,
1804
1805 UNIQUE KEY (objectTypeID, userID, objectID),
1806 KEY (objectTypeID, objectID)
1807 );
1808
1809 DROP TABLE IF EXISTS wcf1_user_option;
1810 CREATE TABLE wcf1_user_option (
1811 optionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1812 packageID INT(10) NOT NULL,
1813 optionName VARCHAR(191) NOT NULL DEFAULT '',
1814 categoryName VARCHAR(191) NOT NULL DEFAULT '',
1815 optionType VARCHAR(255) NOT NULL DEFAULT '',
1816 defaultValue MEDIUMTEXT,
1817 validationPattern TEXT,
1818 selectOptions MEDIUMTEXT,
1819 enableOptions MEDIUMTEXT,
1820 labeledUrl MEDIUMTEXT,
1821 required TINYINT(1) NOT NULL DEFAULT 0,
1822 askDuringRegistration TINYINT(1) NOT NULL DEFAULT 0,
1823 editable TINYINT(1) NOT NULL DEFAULT 0,
1824 visible TINYINT(1) NOT NULL DEFAULT 0,
1825 outputClass VARCHAR(255) NOT NULL DEFAULT '',
1826 searchable TINYINT(1) NOT NULL DEFAULT 0,
1827 showOrder INT(10) NOT NULL DEFAULT 0,
1828 isDisabled TINYINT(1) NOT NULL DEFAULT 0,
1829 permissions TEXT,
1830 options TEXT,
1831 additionalData MEDIUMTEXT,
1832 originIsSystem TINYINT(1) NOT NULL DEFAULT 0,
1833 UNIQUE KEY optionName (optionName, packageID),
1834 KEY categoryName (categoryName)
1835 );
1836
1837 DROP TABLE IF EXISTS wcf1_user_option_category;
1838 CREATE TABLE wcf1_user_option_category (
1839 categoryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1840 packageID INT(10) NOT NULL,
1841 categoryName VARCHAR(191) NOT NULL DEFAULT '',
1842 parentCategoryName VARCHAR(191) NOT NULL DEFAULT '',
1843 showOrder INT(10) NOT NULL DEFAULT 0,
1844 permissions TEXT,
1845 options TEXT,
1846 UNIQUE KEY categoryName (categoryName)
1847 );
1848
1849 DROP TABLE IF EXISTS wcf1_user_option_value;
1850 CREATE TABLE wcf1_user_option_value (
1851 userID INT(10) NOT NULL PRIMARY KEY
1852 );
1853
1854 DROP TABLE IF EXISTS wcf1_user_profile_menu_item;
1855 CREATE TABLE wcf1_user_profile_menu_item (
1856 menuItemID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1857 packageID INT(10) NOT NULL,
1858 menuItem VARCHAR(191) NOT NULL,
1859 showOrder INT(10) NOT NULL DEFAULT 0,
1860 permissions TEXT NULL,
1861 options TEXT NULL,
1862 className VARCHAR(255) NOT NULL,
1863 UNIQUE KEY (packageID, menuItem)
1864 );
1865
1866 DROP TABLE IF EXISTS wcf1_user_profile_visitor;
1867 CREATE TABLE wcf1_user_profile_visitor (
1868 visitorID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1869 ownerID INT(10) NOT NULL,
1870 userID INT(10) NOT NULL,
1871 time INT(10) NOT NULL DEFAULT 0,
1872 UNIQUE KEY (ownerID, userID),
1873 KEY (time)
1874 );
1875
1876 DROP TABLE IF EXISTS wcf1_user_rank;
1877 CREATE TABLE wcf1_user_rank (
1878 rankID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
1879 groupID INT(10) NOT NULL,
1880 requiredPoints INT(10) NOT NULL DEFAULT 0,
1881 rankTitle VARCHAR(255) NOT NULL DEFAULT '',
1882 cssClassName VARCHAR(255) NOT NULL DEFAULT '',
1883 rankImage VARCHAR(255) NOT NULL DEFAULT '',
1884 repeatImage TINYINT(3) NOT NULL DEFAULT 1,
1885 requiredGender TINYINT(1) NOT NULL DEFAULT 0,
1886 hideTitle TINYINT(1) NOT NULL DEFAULT 0
1887 );
1888
1889 DROP TABLE IF EXISTS wcf1_user_session;
1890 CREATE TABLE wcf1_user_session (
1891 sessionID CHAR(40) NOT NULL PRIMARY KEY,
1892 userID INT(10),
1893 ipAddress VARCHAR(39) NOT NULL DEFAULT '',
1894 userAgent VARCHAR(255) NOT NULL DEFAULT '',
1895 creationTime INT(10) NOT NULL,
1896 lastActivityTime INT(10) NOT NULL DEFAULT 0,
1897 sessionVariables MEDIUMBLOB,
1898 KEY (userID),
1899 KEY (lastActivityTime)
1900 );
1901
1902 DROP TABLE IF EXISTS wcf1_user_storage;
1903 CREATE TABLE wcf1_user_storage (
1904 userID INT(10) NOT NULL,
1905 field VARCHAR(80) NOT NULL DEFAULT '',
1906 fieldValue MEDIUMTEXT,
1907 UNIQUE KEY (userID, field),
1908 KEY (field)
1909 );
1910
1911 DROP TABLE IF EXISTS wcf1_user_to_group;
1912 CREATE TABLE wcf1_user_to_group (
1913 userID INT(10) NOT NULL,
1914 groupID INT(10) NOT NULL,
1915 UNIQUE KEY userID (userID, groupID)
1916 );
1917
1918 DROP TABLE IF EXISTS wcf1_user_to_language;
1919 CREATE TABLE wcf1_user_to_language (
1920 userID INT(10) NOT NULL,
1921 languageID INT(10) NOT NULL,
1922 UNIQUE KEY userID (userID, languageID)
1923 );
1924
1925 -- Create the package early. This is required for the FOREIGN KEYs.
1926 INSERT INTO wcf1_package (packageID, package) VALUES (1, 'com.woltlab.wcf');
1927
1928 /* SQL_PARSER_OFFSET */
1929
1930 /* foreign keys */
1931 ALTER TABLE wcf1_acl_option ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1932 ALTER TABLE wcf1_acl_option ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
1933
1934 ALTER TABLE wcf1_acl_option_category ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1935 ALTER TABLE wcf1_acl_option_category ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
1936
1937 ALTER TABLE wcf1_acl_option_to_user ADD FOREIGN KEY (optionID) REFERENCES wcf1_acl_option (optionID) ON DELETE CASCADE;
1938 ALTER TABLE wcf1_acl_option_to_user ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
1939
1940 ALTER TABLE wcf1_acl_option_to_group ADD FOREIGN KEY (optionID) REFERENCES wcf1_acl_option (optionID) ON DELETE CASCADE;
1941 ALTER TABLE wcf1_acl_option_to_group ADD FOREIGN KEY (groupID) REFERENCES wcf1_user_group (groupID) ON DELETE CASCADE;
1942
1943 ALTER TABLE wcf1_acl_simple_to_user ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
1944 ALTER TABLE wcf1_acl_simple_to_user ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
1945
1946 ALTER TABLE wcf1_acl_simple_to_group ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
1947 ALTER TABLE wcf1_acl_simple_to_group ADD FOREIGN KEY (groupID) REFERENCES wcf1_user_group (groupID) ON DELETE CASCADE;
1948
1949 ALTER TABLE wcf1_acp_menu_item ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1950
1951 ALTER TABLE wcf1_acp_search_provider ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1952
1953 ALTER TABLE wcf1_acp_session_access_log ADD FOREIGN KEY (sessionLogID) REFERENCES wcf1_acp_session_log (sessionLogID) ON DELETE CASCADE;
1954
1955 ALTER TABLE wcf1_acp_session_log ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
1956
1957 ALTER TABLE wcf1_acp_template ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1958
1959 ALTER TABLE wcf1_ad ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
1960
1961 ALTER TABLE wcf1_application ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1962 ALTER TABLE wcf1_application ADD FOREIGN KEY (landingPageID) REFERENCES wcf1_page (pageID) ON DELETE SET NULL;
1963
1964 ALTER TABLE wcf1_article ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
1965 ALTER TABLE wcf1_article ADD FOREIGN KEY (categoryID) REFERENCES wcf1_category (categoryID) ON DELETE SET NULL;
1966
1967 ALTER TABLE wcf1_article_content ADD FOREIGN KEY (articleID) REFERENCES wcf1_article (articleID) ON DELETE CASCADE;
1968 ALTER TABLE wcf1_article_content ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE SET NULL;
1969 ALTER TABLE wcf1_article_content ADD FOREIGN KEY (imageID) REFERENCES wcf1_media (mediaID) ON DELETE SET NULL;
1970 ALTER TABLE wcf1_article_content ADD FOREIGN KEY (teaserImageID) REFERENCES wcf1_media (mediaID) ON DELETE SET NULL;
1971
1972 ALTER TABLE wcf1_attachment ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
1973 ALTER TABLE wcf1_attachment ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
1974
1975 ALTER TABLE wcf1_bbcode ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1976
1977 ALTER TABLE wcf1_bbcode_attribute ADD FOREIGN KEY (bbcodeID) REFERENCES wcf1_bbcode (bbcodeID) ON DELETE CASCADE;
1978
1979 ALTER TABLE wcf1_bbcode_media_provider ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1980
1981 ALTER TABLE wcf1_box ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
1982 ALTER TABLE wcf1_box ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1983 ALTER TABLE wcf1_box ADD FOREIGN KEY (menuID) REFERENCES wcf1_menu (menuID) ON DELETE CASCADE;
1984 ALTER TABLE wcf1_box ADD FOREIGN KEY (linkPageID) REFERENCES wcf1_page (pageID) ON DELETE SET NULL;
1985
1986 /* SQL_PARSER_OFFSET */
1987
1988 ALTER TABLE wcf1_box_content ADD FOREIGN KEY (boxID) REFERENCES wcf1_box (boxID) ON DELETE CASCADE;
1989 ALTER TABLE wcf1_box_content ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE CASCADE;
1990 ALTER TABLE wcf1_box_content ADD FOREIGN KEY (imageID) REFERENCES wcf1_media (mediaID) ON DELETE SET NULL;
1991
1992 ALTER TABLE wcf1_box_to_page ADD FOREIGN KEY (boxID) REFERENCES wcf1_box (boxID) ON DELETE CASCADE;
1993 ALTER TABLE wcf1_box_to_page ADD FOREIGN KEY (pageID) REFERENCES wcf1_page (pageID) ON DELETE CASCADE;
1994
1995 ALTER TABLE wcf1_category ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
1996
1997 ALTER TABLE wcf1_clipboard_action ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
1998
1999 ALTER TABLE wcf1_clipboard_item ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2000
2001 ALTER TABLE wcf1_clipboard_page ADD FOREIGN KEY (actionID) REFERENCES wcf1_clipboard_action (actionID) ON DELETE CASCADE;
2002 ALTER TABLE wcf1_clipboard_page ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2003
2004 ALTER TABLE wcf1_condition ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2005
2006 ALTER TABLE wcf1_contact_attachment ADD FOREIGN KEY (attachmentID) REFERENCES wcf1_attachment (attachmentID) ON DELETE CASCADE;
2007
2008 ALTER TABLE wcf1_core_object ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2009
2010 ALTER TABLE wcf1_cronjob ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2011
2012 ALTER TABLE wcf1_cronjob_log ADD FOREIGN KEY (cronjobID) REFERENCES wcf1_cronjob (cronjobID) ON DELETE CASCADE;
2013
2014 ALTER TABLE wcf1_devtools_missing_language_item ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE SET NULL;
2015
2016 ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2017 ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2018 ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (obsoletedByUserID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2019
2020 ALTER TABLE wcf1_email_log_entry ADD FOREIGN KEY (recipientID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2021
2022 ALTER TABLE wcf1_event_listener ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2023
2024 ALTER TABLE wcf1_language_item ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE CASCADE;
2025 ALTER TABLE wcf1_language_item ADD FOREIGN KEY (languageCategoryID) REFERENCES wcf1_language_category (languageCategoryID) ON DELETE CASCADE;
2026 ALTER TABLE wcf1_language_item ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2027
2028 /* SQL_PARSER_OFFSET */
2029
2030 ALTER TABLE wcf1_media ADD FOREIGN KEY (categoryID) REFERENCES wcf1_category (categoryID) ON DELETE SET NULL;
2031 ALTER TABLE wcf1_media ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2032 ALTER TABLE wcf1_media ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE SET NULL;
2033
2034 ALTER TABLE wcf1_media_content ADD FOREIGN KEY (mediaID) REFERENCES wcf1_media (mediaID) ON DELETE CASCADE;
2035 ALTER TABLE wcf1_media_content ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE CASCADE;
2036
2037 ALTER TABLE wcf1_menu ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2038
2039 ALTER TABLE wcf1_menu_item ADD FOREIGN KEY (menuID) REFERENCES wcf1_menu (menuID) ON DELETE CASCADE;
2040 ALTER TABLE wcf1_menu_item ADD FOREIGN KEY (parentItemID) REFERENCES wcf1_menu_item (itemID) ON DELETE SET NULL;
2041 ALTER TABLE wcf1_menu_item ADD FOREIGN KEY (pageID) REFERENCES wcf1_page (pageID) ON DELETE CASCADE;
2042 ALTER TABLE wcf1_menu_item ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2043
2044 ALTER TABLE wcf1_modification_log ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2045 ALTER TABLE wcf1_modification_log ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2046
2047 ALTER TABLE wcf1_object_type ADD FOREIGN KEY (definitionID) REFERENCES wcf1_object_type_definition (definitionID) ON DELETE CASCADE;
2048 ALTER TABLE wcf1_object_type ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2049
2050 ALTER TABLE wcf1_object_type_definition ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2051
2052 ALTER TABLE wcf1_option ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2053
2054 ALTER TABLE wcf1_option_category ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2055
2056 ALTER TABLE wcf1_package_exclusion ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2057
2058 ALTER TABLE wcf1_package_installation_file_log ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2059
2060 ALTER TABLE wcf1_package_installation_form ADD FOREIGN KEY (queueID) REFERENCES wcf1_package_installation_queue (queueID) ON DELETE CASCADE;
2061
2062 ALTER TABLE wcf1_package_installation_node ADD FOREIGN KEY (queueID) REFERENCES wcf1_package_installation_queue (queueID) ON DELETE CASCADE;
2063
2064 ALTER TABLE wcf1_package_installation_plugin ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2065
2066 ALTER TABLE wcf1_package_installation_queue ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2067 ALTER TABLE wcf1_package_installation_queue ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE SET NULL;
2068
2069 ALTER TABLE wcf1_package_installation_sql_log ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2070
2071 /* SQL_PARSER_OFFSET */
2072
2073 ALTER TABLE wcf1_package_requirement ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2074 ALTER TABLE wcf1_package_requirement ADD FOREIGN KEY (requirement) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2075
2076 ALTER TABLE wcf1_package_update ADD FOREIGN KEY (packageUpdateServerID) REFERENCES wcf1_package_update_server (packageUpdateServerID) ON DELETE CASCADE;
2077
2078 ALTER TABLE wcf1_package_update_exclusion ADD FOREIGN KEY (packageUpdateVersionID) REFERENCES wcf1_package_update_version (packageUpdateVersionID) ON DELETE CASCADE;
2079
2080 ALTER TABLE wcf1_package_update_fromversion ADD FOREIGN KEY (packageUpdateVersionID) REFERENCES wcf1_package_update_version (packageUpdateVersionID) ON DELETE CASCADE;
2081
2082 ALTER TABLE wcf1_package_update_requirement ADD FOREIGN KEY (packageUpdateVersionID) REFERENCES wcf1_package_update_version (packageUpdateVersionID) ON DELETE CASCADE;
2083
2084 ALTER TABLE wcf1_package_update_version ADD FOREIGN KEY (packageUpdateID) REFERENCES wcf1_package_update (packageUpdateID) ON DELETE CASCADE;
2085
2086 ALTER TABLE wcf1_paid_subscription_user ADD FOREIGN KEY (subscriptionID) REFERENCES wcf1_paid_subscription (subscriptionID) ON DELETE CASCADE;
2087 ALTER TABLE wcf1_paid_subscription_user ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2088
2089 ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (subscriptionUserID) REFERENCES wcf1_paid_subscription_user (subscriptionUserID) ON DELETE SET NULL;
2090 ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2091 ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (subscriptionID) REFERENCES wcf1_paid_subscription (subscriptionID) ON DELETE SET NULL;
2092 ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (paymentMethodObjectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2093
2094 ALTER TABLE wcf1_page ADD FOREIGN KEY (parentPageID) REFERENCES wcf1_page (pageID) ON DELETE SET NULL;
2095 ALTER TABLE wcf1_page ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2096 ALTER TABLE wcf1_page ADD FOREIGN KEY (applicationPackageID) REFERENCES wcf1_package (packageID) ON DELETE SET NULL;
2097 ALTER TABLE wcf1_page ADD FOREIGN KEY (overrideApplicationPackageID) REFERENCES wcf1_package (packageID) ON DELETE SET NULL;
2098
2099 ALTER TABLE wcf1_page_box_order ADD FOREIGN KEY (pageID) REFERENCES wcf1_page (pageID) ON DELETE CASCADE;
2100 ALTER TABLE wcf1_page_box_order ADD FOREIGN KEY (boxID) REFERENCES wcf1_box (boxID) ON DELETE CASCADE;
2101
2102 ALTER TABLE wcf1_page_content ADD FOREIGN KEY (pageID) REFERENCES wcf1_page (pageID) ON DELETE CASCADE;
2103 ALTER TABLE wcf1_page_content ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE CASCADE;
2104
2105 ALTER TABLE wcf1_registry ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2106
2107 ALTER TABLE wcf1_search ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2108
2109 /* SQL_PARSER_OFFSET */
2110
2111 ALTER TABLE wcf1_session ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2112 ALTER TABLE wcf1_session ADD FOREIGN KEY (spiderID) REFERENCES wcf1_spider (spiderID) ON DELETE CASCADE;
2113 ALTER TABLE wcf1_session ADD FOREIGN KEY (pageID) REFERENCES wcf1_page (pageID) ON DELETE SET NULL;
2114 ALTER TABLE wcf1_session ADD FOREIGN KEY (parentPageID) REFERENCES wcf1_page (pageID) ON DELETE SET NULL;
2115
2116 ALTER TABLE wcf1_smiley ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2117 ALTER TABLE wcf1_smiley ADD FOREIGN KEY (categoryID) REFERENCES wcf1_category (categoryID) ON DELETE SET NULL;
2118
2119 ALTER TABLE wcf1_user_storage ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2120
2121 ALTER TABLE wcf1_style ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2122
2123 ALTER TABLE wcf1_style_variable_value ADD FOREIGN KEY (styleID) REFERENCES wcf1_style (styleID) ON DELETE CASCADE;
2124 ALTER TABLE wcf1_style_variable_value ADD FOREIGN KEY (variableID) REFERENCES wcf1_style_variable (variableID) ON DELETE CASCADE;
2125
2126 ALTER TABLE wcf1_template ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2127 ALTER TABLE wcf1_template ADD FOREIGN KEY (templateGroupID) REFERENCES wcf1_template_group (templateGroupID) ON DELETE CASCADE;
2128
2129 ALTER TABLE wcf1_template_group ADD FOREIGN KEY (parentTemplateGroupID) REFERENCES wcf1_template_group (templateGroupID) ON DELETE SET NULL;
2130
2131 ALTER TABLE wcf1_template_listener ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2132
2133 ALTER TABLE wcf1_trophy ADD FOREIGN KEY (categoryID) REFERENCES wcf1_category (categoryID) ON DELETE CASCADE;
2134
2135 ALTER TABLE wcf1_user_collapsible_content ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2136 ALTER TABLE wcf1_user_collapsible_content ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2137
2138 ALTER TABLE wcf1_user_group_assignment ADD FOREIGN KEY (groupID) REFERENCES wcf1_user_group (groupID) ON DELETE CASCADE;
2139
2140 ALTER TABLE wcf1_user_group_option ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2141
2142 ALTER TABLE wcf1_user_group_option_category ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2143
2144 ALTER TABLE wcf1_user_group_option_value ADD FOREIGN KEY (groupID) REFERENCES wcf1_user_group (groupID) ON DELETE CASCADE;
2145 ALTER TABLE wcf1_user_group_option_value ADD FOREIGN KEY (optionID) REFERENCES wcf1_user_group_option (optionID) ON DELETE CASCADE;
2146
2147 /* SQL_PARSER_OFFSET */
2148
2149 ALTER TABLE wcf1_user_option ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2150
2151 ALTER TABLE wcf1_user_option_category ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2152
2153 ALTER TABLE wcf1_user_option_value ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2154
2155 ALTER TABLE wcf1_user_to_group ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2156 ALTER TABLE wcf1_user_to_group ADD FOREIGN KEY (groupID) REFERENCES wcf1_user_group (groupID) ON DELETE CASCADE;
2157
2158 ALTER TABLE wcf1_user_to_language ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2159 ALTER TABLE wcf1_user_to_language ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE CASCADE;
2160
2161 ALTER TABLE wcf1_user_trophy ADD FOREIGN KEY (trophyID) REFERENCES wcf1_trophy (trophyID) ON DELETE CASCADE;
2162 ALTER TABLE wcf1_user_trophy ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2163
2164 ALTER TABLE wcf1_import_mapping ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2165
2166 ALTER TABLE wcf1_tracked_visit ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2167 ALTER TABLE wcf1_tracked_visit ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2168
2169 ALTER TABLE wcf1_tracked_visit_type ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2170 ALTER TABLE wcf1_tracked_visit_type ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2171
2172 ALTER TABLE wcf1_unfurl_url ADD FOREIGN KEY (imageID) REFERENCES wcf1_unfurl_url_image (imageID) ON DELETE SET NULL;
2173
2174 ALTER TABLE wcf1_user ADD FOREIGN KEY (avatarID) REFERENCES wcf1_user_avatar (avatarID) ON DELETE SET NULL;
2175 ALTER TABLE wcf1_user ADD FOREIGN KEY (rankID) REFERENCES wcf1_user_rank (rankID) ON DELETE SET NULL;
2176 ALTER TABLE wcf1_user ADD FOREIGN KEY (userOnlineGroupID) REFERENCES wcf1_user_group (groupID) ON DELETE SET NULL;
2177
2178 /* SQL_PARSER_OFFSET */
2179
2180 ALTER TABLE wcf1_user_avatar ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2181
2182 ALTER TABLE wcf1_user_follow ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2183 ALTER TABLE wcf1_user_follow ADD FOREIGN KEY (followUserID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2184
2185 ALTER TABLE wcf1_user_ignore ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2186 ALTER TABLE wcf1_user_ignore ADD FOREIGN KEY (ignoreUserID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2187
2188 ALTER TABLE wcf1_user_menu_item ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2189
2190 ALTER TABLE wcf1_user_notification ADD FOREIGN KEY (eventID) REFERENCES wcf1_user_notification_event (eventID) ON DELETE CASCADE;
2191 ALTER TABLE wcf1_user_notification ADD FOREIGN KEY (authorID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2192 ALTER TABLE wcf1_user_notification ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2193
2194 ALTER TABLE wcf1_user_notification_author ADD FOREIGN KEY (notificationID) REFERENCES wcf1_user_notification (notificationID) ON DELETE CASCADE;
2195 ALTER TABLE wcf1_user_notification_author ADD FOREIGN KEY (authorID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2196
2197 ALTER TABLE wcf1_user_notification_event ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2198 ALTER TABLE wcf1_user_notification_event ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2199
2200 ALTER TABLE wcf1_user_notification_event_to_user ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2201 ALTER TABLE wcf1_user_notification_event_to_user ADD FOREIGN KEY (eventID) REFERENCES wcf1_user_notification_event (eventID) ON DELETE CASCADE;
2202
2203 ALTER TABLE wcf1_user_profile_menu_item ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
2204
2205 /* SQL_PARSER_OFFSET */
2206
2207 ALTER TABLE wcf1_user_rank ADD FOREIGN KEY (groupID) REFERENCES wcf1_user_group (groupID) ON DELETE CASCADE;
2208
2209 ALTER TABLE wcf1_user_activity_event ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2210 ALTER TABLE wcf1_user_activity_event ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2211 ALTER TABLE wcf1_user_activity_event ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE SET NULL;
2212
2213 ALTER TABLE wcf1_user_activity_point ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2214 ALTER TABLE wcf1_user_activity_point ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2215
2216 ALTER TABLE wcf1_user_authentication_failure ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2217
2218 ALTER TABLE wcf1_user_multifactor ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2219 ALTER TABLE wcf1_user_multifactor ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2220
2221 ALTER TABLE wcf1_user_multifactor_backup ADD FOREIGN KEY (setupID) REFERENCES wcf1_user_multifactor (setupID) ON DELETE CASCADE;
2222
2223 ALTER TABLE wcf1_user_multifactor_email ADD FOREIGN KEY (setupID) REFERENCES wcf1_user_multifactor (setupID) ON DELETE CASCADE;
2224
2225 ALTER TABLE wcf1_user_multifactor_totp ADD FOREIGN KEY (setupID) REFERENCES wcf1_user_multifactor (setupID) ON DELETE CASCADE;
2226
2227 ALTER TABLE wcf1_user_object_watch ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2228 ALTER TABLE wcf1_user_object_watch ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2229
2230 ALTER TABLE wcf1_user_profile_visitor ADD FOREIGN KEY (ownerID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2231 ALTER TABLE wcf1_user_profile_visitor ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2232
2233 ALTER TABLE wcf1_user_session ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2234
2235 ALTER TABLE wcf1_user_special_trophy ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2236 ALTER TABLE wcf1_user_special_trophy ADD FOREIGN KEY (trophyID) REFERENCES wcf1_trophy (trophyID) ON DELETE CASCADE;
2237
2238 ALTER TABLE wcf1_message_embedded_object ADD FOREIGN KEY (messageObjectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2239 ALTER TABLE wcf1_message_embedded_object ADD FOREIGN KEY (embeddedObjectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2240
2241 ALTER TABLE wcf1_moderation_queue ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2242 ALTER TABLE wcf1_moderation_queue ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2243 ALTER TABLE wcf1_moderation_queue ADD FOREIGN KEY (assignedUserID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2244
2245 ALTER TABLE wcf1_moderation_queue_to_user ADD FOREIGN KEY (queueID) REFERENCES wcf1_moderation_queue (queueID) ON DELETE CASCADE;
2246 ALTER TABLE wcf1_moderation_queue_to_user ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2247
2248 ALTER TABLE wcf1_like ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2249 ALTER TABLE wcf1_like ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2250 ALTER TABLE wcf1_like ADD FOREIGN KEY (objectUserID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2251 ALTER TABLE wcf1_like ADD FOREIGN KEY (reactionTypeID) REFERENCES wcf1_reaction_type (reactionTypeID) ON DELETE CASCADE;
2252
2253 ALTER TABLE wcf1_like_object ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2254 ALTER TABLE wcf1_like_object ADD FOREIGN KEY (objectUserID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2255
2256 /* SQL_PARSER_OFFSET */
2257
2258 ALTER TABLE wcf1_comment ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2259 ALTER TABLE wcf1_comment ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2260
2261 ALTER TABLE wcf1_comment_response ADD FOREIGN KEY (commentID) REFERENCES wcf1_comment (commentID) ON DELETE CASCADE;
2262 ALTER TABLE wcf1_comment_response ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
2263
2264 ALTER TABLE wcf1_label ADD FOREIGN KEY (groupID) REFERENCES wcf1_label_group (groupID) ON DELETE CASCADE;
2265
2266 ALTER TABLE wcf1_label_group_to_object ADD FOREIGN KEY (groupID) REFERENCES wcf1_label_group (groupID) ON DELETE CASCADE;
2267 ALTER TABLE wcf1_label_group_to_object ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2268
2269 ALTER TABLE wcf1_label_object ADD FOREIGN KEY (labelID) REFERENCES wcf1_label (labelID) ON DELETE CASCADE;
2270 ALTER TABLE wcf1_label_object ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2271
2272 ALTER TABLE wcf1_tag ADD FOREIGN KEY (synonymFor) REFERENCES wcf1_tag (tagID) ON DELETE CASCADE;
2273
2274 ALTER TABLE wcf1_tag_to_object ADD FOREIGN KEY (tagID) REFERENCES wcf1_tag (tagID) ON DELETE CASCADE;
2275 ALTER TABLE wcf1_tag_to_object ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE CASCADE;
2276 ALTER TABLE wcf1_tag_to_object ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2277
2278 ALTER TABLE wcf1_stat_daily ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2279
2280 ALTER TABLE wcf1_poll ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
2281
2282 ALTER TABLE wcf1_poll_option ADD FOREIGN KEY (pollID) REFERENCES wcf1_poll (pollID) ON DELETE CASCADE;
2283
2284 ALTER TABLE wcf1_poll_option_vote ADD FOREIGN KEY (pollID) REFERENCES wcf1_poll (pollID) ON DELETE CASCADE;
2285 ALTER TABLE wcf1_poll_option_vote ADD FOREIGN KEY (optionID) REFERENCES wcf1_poll_option (optionID) ON DELETE CASCADE;
2286 ALTER TABLE wcf1_poll_option_vote ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2287
2288 ALTER TABLE wcf1_notice_dismissed ADD FOREIGN KEY (noticeID) REFERENCES wcf1_notice (noticeID) ON DELETE CASCADE;
2289 ALTER TABLE wcf1_notice_dismissed ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
2290
2291 /* SQL_PARSER_OFFSET */
2292
2293 /* default inserts */
2294 -- default user groups
2295 INSERT INTO wcf1_user_group (groupID, groupName, groupDescription, groupType) VALUES (1, 'wcf.acp.group.group1', '', 1); -- Everyone
2296 INSERT INTO wcf1_user_group (groupID, groupName, groupDescription, groupType) VALUES (2, 'wcf.acp.group.group2', '', 2); -- Guests
2297 INSERT INTO wcf1_user_group (groupID, groupName, groupDescription, groupType) VALUES (3, 'wcf.acp.group.group3', '', 3); -- Registered Users
2298 INSERT INTO wcf1_user_group (groupID, groupName, groupDescription, groupType) VALUES (4, 'wcf.acp.group.group4', '', 9); -- Administrators
2299 INSERT INTO wcf1_user_group (groupID, groupName, groupDescription, groupType) VALUES (5, 'wcf.acp.group.group5', '', 4); -- Moderators
2300
2301 -- default user group options
2302 INSERT INTO wcf1_user_group_option (packageID, optionID, optionName, categoryName, optionType, defaultValue, showOrder, usersOnly) VALUES (1, 1, 'admin.general.canUseAcp', 'admin.general', 'boolean', '0', 1, 1);
2303 INSERT INTO wcf1_user_group_option (packageID, optionID, optionName, categoryName, optionType, defaultValue, showOrder, usersOnly) VALUES (1, 2, 'admin.configuration.package.canInstallPackage', 'admin.configuration.package', 'boolean', '0', 1, 1);
2304 INSERT INTO wcf1_user_group_option (packageID, optionID, optionName, categoryName, optionType, defaultValue, showOrder, usersOnly) VALUES (1, 3, 'admin.user.canEditGroup', 'admin.user.group', 'boolean', '0', 1, 1);
2305
2306 -- default user group option values
2307 INSERT INTO wcf1_user_group_option_value (groupID, optionID, optionValue) VALUES (1, 1, '0'); -- Everyone
2308 INSERT INTO wcf1_user_group_option_value (groupID, optionID, optionValue) VALUES (1, 2, '0'); -- Everyone
2309 INSERT INTO wcf1_user_group_option_value (groupID, optionID, optionValue) VALUES (1, 3, '0'); -- Everyone
2310 INSERT INTO wcf1_user_group_option_value (groupID, optionID, optionValue) VALUES (4, 1, '1'); -- Administrators
2311 INSERT INTO wcf1_user_group_option_value (groupID, optionID, optionValue) VALUES (4, 2, '1'); -- Administrators
2312 INSERT INTO wcf1_user_group_option_value (groupID, optionID, optionValue) VALUES (4, 3, '1'); -- Administrators
2313
2314 -- default update servers
2315 INSERT INTO wcf1_package_update_server (serverURL, status, isDisabled, errorMessage, lastUpdateTime, loginUsername, loginPassword) VALUES ('https://update.woltlab.com/6.0/', 'online', 0, NULL, 0, '', '');
2316 INSERT INTO wcf1_package_update_server (serverURL, status, isDisabled, errorMessage, lastUpdateTime, loginUsername, loginPassword) VALUES ('https://store.woltlab.com/6.0/', 'online', 0, NULL, 0, '', '');
2317
2318 -- style default values
2319 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('individualScss', '');
2320 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('messageSidebarOrientation', 'left');
2321 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('overrideScss', '');
2322 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('pageLogo', '');
2323 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('pageLogoWidth', '281');
2324 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('pageLogoHeight', '40');
2325 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('pageLogoMobile', '');
2326 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('useFluidLayout', '1');
2327 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonBackground', 'rgba(207, 216, 220, 1)');
2328 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonBackgroundActive', 'rgba(120, 144, 156, 1)');
2329 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonDisabledBackground', 'rgba(223, 223, 223, 1)');
2330 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonDisabledText', 'rgba(165, 165, 165, 1)');
2331 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonPrimaryBackground', 'rgba(33, 150, 243, 1)');
2332 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonPrimaryBackgroundActive', 'rgba(26, 119, 201, 1)');
2333 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonPrimaryText', 'rgba(255, 255, 255, 1)');
2334 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonPrimaryTextActive', 'rgba(255, 255, 255, 1)');
2335 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonText', 'rgba(33, 33, 33, 1)');
2336 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonTextActive', 'rgba(255, 255, 255, 1)');
2337 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentBackground', 'rgba(250, 250, 250, 1)');
2338 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentBorder', 'rgba(65, 121, 173, 1)');
2339 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentBorderInner', 'rgba(224, 224, 224, 1)');
2340 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentContainerBackground', 'rgba(255, 255, 255, 1)');
2341 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentContainerBorder', 'rgba(236, 241, 247, 1)');
2342 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentDimmedLink', 'rgba(52, 73, 94, 1)');
2343 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentDimmedLinkActive', 'rgba(52, 73, 94, 1)');
2344 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentDimmedText', 'rgba(125, 130, 135, 1)');
2345 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentHeadlineBorder', 'rgba(238, 238, 238, 1)');
2346 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentHeadlineLink', 'rgba(58, 58, 61, 1)');
2347 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentHeadlineLinkActive', 'rgba(58, 58, 61, 1)');
2348 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentHeadlineText', 'rgba(58, 58, 61, 1)');
2349 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentLink', 'rgba(230, 81, 0, 1)');
2350 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentLinkActive', 'rgba(191, 54, 12, 1)');
2351 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentText', 'rgba(58, 58, 61, 1)');
2352 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfDropdownBackground', 'rgba(255, 255, 255, 1)');
2353 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfDropdownBackgroundActive', 'rgba(238, 238, 238, 1)');
2354 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfDropdownBorderInner', 'rgba(238, 238, 238, 1)');
2355 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfDropdownLink', 'rgba(33, 33, 33, 1)');
2356 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfDropdownLinkActive', 'rgba(33, 33, 33, 1)');
2357 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfDropdownText', 'rgba(33, 33, 33, 1)');
2358 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonBackground', 'rgba(58, 109, 156, 1)');
2359 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonBackgroundActive', 'rgba(36, 66, 95, 1)');
2360 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonText', 'rgba(255, 255, 255, 1)');
2361 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonTextActive', 'rgba(255, 255, 255, 1)');
2362 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonTextDisabled', 'rgba(165, 165, 165, 1)');
2363 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorTableBorder', 'rgba(221, 221, 221, 1)');
2364 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFontFamilyFallback', 'system');
2365 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFontFamilyGoogle', '');
2366 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFontLineHeight', '1.48');
2367 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFontSizeDefault', '15px');
2368 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFontSizeHeadline', '18px');
2369 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFontSizeSection', '23px');
2370 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFontSizeSmall', '12px');
2371 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFontSizeTitle', '28px');
2372 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterBackground', 'rgba(58, 109, 156, 1)');
2373 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterBoxBackground', 'rgba(236, 239, 241, 1)');
2374 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterBoxHeadlineLink', 'rgba(58, 58, 61, 1)');
2375 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterBoxHeadlineLinkActive', 'rgba(58, 58, 61, 1)');
2376 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterBoxHeadlineText', 'rgba(58, 58, 61, 1)');
2377 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterBoxLink', 'rgba(230, 81, 0, 1)');
2378 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterBoxLinkActive', 'rgba(191, 54, 12, 1)');
2379 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterBoxText', 'rgba(58, 58, 61, 1)');
2380 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterCopyrightBackground', 'rgba(50, 92, 132, 1)');
2381 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterCopyrightLink', 'rgba(217, 220, 222, 1)');
2382 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterCopyrightLinkActive', 'rgba(255, 255, 255, 1)');
2383 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterCopyrightText', 'rgba(217, 220, 222, 1)');
2384 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterHeadlineLink', 'rgba(255, 255, 255, 1)');
2385 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterHeadlineLinkActive', 'rgba(255, 255, 255, 1)');
2386 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterHeadlineText', 'rgba(189, 195, 199, 1)');
2387 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterLink', 'rgba(255, 255, 255, 1)');
2388 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterLinkActive', 'rgba(255, 255, 255, 1)');
2389 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfFooterText', 'rgba(217, 220, 222, 1)');
2390 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderBackground', 'rgba(58, 109, 156, 1)');
2391 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderText', 'rgba(255, 255, 255, 1)');
2392 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderLink', 'rgba(255, 255, 255, 1)');
2393 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderLinkActive', 'rgba(255, 255, 255, 1)');
2394 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderMenuBackground', 'rgba(50, 92, 132, 1)');
2395 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderMenuLinkBackground', 'rgba(43, 79, 113, 1)');
2396 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderMenuLinkBackgroundActive', 'rgba(36, 66, 95, 1)');
2397 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderMenuLink', 'rgba(255, 255, 255, 1)');
2398 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderMenuLinkActive', 'rgba(255, 255, 255, 1)');
2399 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderMenuDropdownBackground', 'rgba(36, 66, 95, 1)');
2400 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderMenuDropdownBackgroundActive', 'rgba(65, 121, 173, 1)');
2401 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderMenuDropdownLink', 'rgba(255, 255, 255, 1)');
2402 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderMenuDropdownLinkActive', 'rgba(255, 255, 255, 1)');
2403 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderSearchBoxBackground', 'rgba(50, 92, 132, 1)');
2404 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderSearchBoxBackgroundActive', 'rgba(50, 92, 132, 1)');
2405 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderSearchBoxText', 'rgba(255, 255, 255, 1)');
2406 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderSearchBoxTextActive', 'rgba(255, 255, 255, 1)');
2407 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderSearchBoxPlaceholder', 'rgba(207, 207, 207, 1)');
2408 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfHeaderSearchBoxPlaceholderActive', 'rgba(207, 207, 207, 1)');
2409 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputBackground', 'rgba(241, 246, 251, 1)');
2410 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputBackgroundActive', 'rgba(241, 246, 251, 1)');
2411 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputBorder', 'rgba(176, 200, 224, 1)');
2412 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputBorderActive', 'rgba(41, 128, 185, 1)');
2413 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputDisabledBackground', 'rgba(245, 245, 245, 1)');
2414 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputDisabledBorder', 'rgba(174, 176, 179, 1)');
2415 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputDisabledText', 'rgba(125, 130, 100, 1)');
2416 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputLabel', 'rgba(59, 109, 169, 1)');
2417 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputText', 'rgba(58, 58, 61, 1)');
2418 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputTextActive', 'rgba(58, 58, 61, 1)');
2419 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputPlaceholder', 'rgba(169, 169, 169, 1)');
2420 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfInputPlaceholderActive', 'rgba(204, 204, 204, 1)');
2421 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfLayoutFixedWidth', '1200px');
2422 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfLayoutMaxWidth', '1400px');
2423 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfLayoutMinWidth', '1000px');
2424 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfNavigationBackground', 'rgba(236, 239, 241, 1)');
2425 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfNavigationLink', 'rgba(58, 58, 61, 1)');
2426 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfNavigationLinkActive', 'rgba(58, 58, 61, 1)');
2427 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfNavigationText', 'rgba(170, 170, 170, 1)');
2428 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfPageThemeColor', ''); -- uses `$wcfHeaderBackground` if left empty
2429 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarBackground', 'rgba(236, 241, 247, 1)');
2430 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarDimmedLink', 'rgba(58, 58, 61, 1)');
2431 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarDimmedLinkActive', 'rgba(58, 58, 61, 1)');
2432 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarDimmedText', 'rgba(127, 140, 141, 1)');
2433 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarHeadlineLink', 'rgba(58, 58, 61, 1)');
2434 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarHeadlineLinkActive', 'rgba(58, 58, 61, 1)');
2435 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarHeadlineText', 'rgba(58, 58, 61, 1)');
2436 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarLink', 'rgba(230, 81, 0, 1)');
2437 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarLinkActive', 'rgba(191, 54, 12, 1)');
2438 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfSidebarText', 'rgba(58, 58, 61, 1)');
2439 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusErrorBackground', 'rgba(242, 222, 222, 1)');
2440 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusErrorBorder', 'rgba(235, 204, 204, 1)');
2441 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusErrorLink', 'rgba(132, 53, 52, 1)');
2442 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusErrorLinkActive', 'rgba(132, 53, 52, 1)');
2443 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusErrorText', 'rgba(169, 68, 66, 1)');
2444 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusInfoBackground', 'rgba(217, 237, 247, 1)');
2445 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusInfoBorder', 'rgba(188, 223, 241, 1)');
2446 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusInfoLink', 'rgba(36, 82, 105, 1)');
2447 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusInfoLinkActive', 'rgba(36, 82, 105, 1)');
2448 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusInfoText', 'rgba(49, 112, 143, 1)');
2449 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusSuccessBackground', 'rgba(223, 240, 216, 1)');
2450 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusSuccessBorder', 'rgba(208, 233, 198, 1)');
2451 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusSuccessLink', 'rgba(43, 84, 44, 1)');
2452 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusSuccessLinkActive', 'rgba(43, 84, 44, 1)');
2453 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusSuccessText', 'rgba(60, 118, 61, 1)');
2454 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusWarningBackground', 'rgba(252, 248, 227, 1)');
2455 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusWarningBorder', 'rgba(250, 242, 204, 1)');
2456 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusWarningLink', 'rgba(102, 81, 44, 1)');
2457 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusWarningLinkActive', 'rgba(102, 81, 44, 1)');
2458 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfStatusWarningText', 'rgba(138, 109, 59, 1)');
2459 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTabularBoxBackgroundActive', 'rgba(242, 242, 242, 1)');
2460 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTabularBoxBorderInner', 'rgba(238, 238, 238, 1)');
2461 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTabularBoxHeadline', 'rgba(65, 121, 173, 1)');
2462 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTabularBoxHeadlineActive', 'rgba(230, 81, 0, 1)');
2463 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTextShadowDark', 'rgba(0, 0, 0, .8)');
2464 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTextShadowLight', 'rgba(255, 255, 255, .8)');
2465 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTooltipBackground', 'rgba(0, 0, 0, .8)');
2466 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTooltipText', 'rgba(255, 255, 255, 1)');
2467 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuBackground', 'rgba(255, 255, 255, 1)');
2468 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuBackgroundActive', 'rgba(239, 239, 239, 1)');
2469 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuText', 'rgba(58, 58, 61, 1)');
2470 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuTextActive', 'rgba(58, 58, 61, 1)');
2471 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuTextDimmed', 'rgba(108, 108, 108, 1)');
2472 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuIndicator', 'rgba(49, 138, 220, 1)');
2473 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuBorder', 'rgba(221, 221, 221, 1)');
2474
2475 -- Email template group
2476 INSERT INTO wcf1_template_group (parentTemplateGroupID, templateGroupName, templateGroupFolderName) VALUES (NULL, 'wcf.acp.template.group.email', '_wcf_email/');
2477
2478 -- default priorities
2479 UPDATE wcf1_user_group SET priority = 10 WHERE groupID = 3;
2480 UPDATE wcf1_user_group SET priority = 1000 WHERE groupID = 4;
2481 UPDATE wcf1_user_group SET priority = 100 WHERE groupID = 5;
2482
2483 -- default 'showOnTeamPage' setting
2484 UPDATE wcf1_user_group SET showOnTeamPage = 1 WHERE groupID IN (4, 5);
2485
2486 -- default ranks
2487 INSERT INTO wcf1_user_rank (groupID, requiredPoints, rankTitle, cssClassName) VALUES
2488 (4, 0, 'wcf.user.rank.administrator', 'blue'),
2489 (5, 0, 'wcf.user.rank.moderator', 'blue'),
2490 (3, 0, 'wcf.user.rank.user0', ''),
2491 (3, 300, 'wcf.user.rank.user1', ''),
2492 (3, 900, 'wcf.user.rank.user2', ''),
2493 (3, 3000, 'wcf.user.rank.user3', ''),
2494 (3, 9000, 'wcf.user.rank.user4', ''),
2495 (3, 15000, 'wcf.user.rank.user5', '');
2496
2497 -- default options: subject and message
2498 INSERT INTO wcf1_contact_option (optionID, optionTitle, optionDescription, optionType, required, showOrder, originIsSystem) VALUES (1, 'wcf.contact.option1', 'wcf.contact.optionDescription1', 'text', 1, 1, 1);
2499 INSERT INTO wcf1_contact_option (optionID, optionTitle, optionDescription, optionType, required, showOrder, originIsSystem) VALUES (2, 'wcf.contact.option2', '', 'textarea', 1, 1, 1);
2500
2501 -- default recipient: site administrator
2502 INSERT INTO wcf1_contact_recipient (recipientID, name, email, isAdministrator, originIsSystem) VALUES (1, 'wcf.contact.recipient.name1', '', 1, 1);
2503
2504 -- default reaction type
2505 INSERT INTO wcf1_reaction_type (reactionTypeID, title, showOrder, iconFile) VALUES (1, 'wcf.reactionType.title1', 1, 'like.svg');
2506 INSERT INTO wcf1_reaction_type (reactionTypeID, title, showOrder, iconFile) VALUES (2, 'wcf.reactionType.title2', 2, 'thanks.svg');
2507 INSERT INTO wcf1_reaction_type (reactionTypeID, title, showOrder, iconFile) VALUES (3, 'wcf.reactionType.title3', 3, 'haha.svg');
2508 INSERT INTO wcf1_reaction_type (reactionTypeID, title, showOrder, iconFile) VALUES (4, 'wcf.reactionType.title4', 4, 'confused.svg');
2509 INSERT INTO wcf1_reaction_type (reactionTypeID, title, showOrder, iconFile) VALUES (5, 'wcf.reactionType.title5', 5, 'sad.svg');