Commit | Line | Data |
---|---|---|
2bf40f75 MW |
1 | DROP TABLE IF EXISTS wcf1_conversation; |
2 | CREATE TABLE wcf1_conversation ( | |
3 | conversationID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, | |
4 | subject VARCHAR(255) NOT NULL DEFAULT '', | |
5 | time INT(10) NOT NULL DEFAULT 0, | |
f34884b9 | 6 | firstMessageID INT(10), |
2bf40f75 MW |
7 | userID INT(10), |
8 | username VARCHAR(255) NOT NULL DEFAULT '', | |
9 | lastPostTime INT(10) NOT NULL DEFAULT 0, | |
10 | lastPosterID INT(10), | |
11 | lastPoster VARCHAR(255) NOT NULL DEFAULT '', | |
12 | replies MEDIUMINT(7) NOT NULL DEFAULT 0, | |
13 | attachments SMALLINT(5) NOT NULL DEFAULT 0, | |
14 | participants MEDIUMINT(7) NOT NULL DEFAULT 0, | |
15 | participantSummary TEXT, | |
16 | participantCanInvite TINYINT(1) NOT NULL DEFAULT 0, | |
17 | isClosed TINYINT(1) NOT NULL DEFAULT 0, | |
18 | isDraft TINYINT(1) NOT NULL DEFAULT 0, | |
9544b6b4 MW |
19 | draftData MEDIUMTEXT, |
20 | ||
21 | KEY (userID, isDraft) | |
2bf40f75 MW |
22 | ); |
23 | ||
24 | DROP TABLE IF EXISTS wcf1_conversation_to_user; | |
25 | CREATE TABLE wcf1_conversation_to_user ( | |
26 | conversationID INT(10) NOT NULL, | |
27 | participantID INT(10), | |
a9bfc5bd | 28 | username VARCHAR(255) NOT NULL DEFAULT '', |
2bf40f75 MW |
29 | hideConversation TINYINT(1) NOT NULL DEFAULT 0, |
30 | isInvisible TINYINT(1) NOT NULL DEFAULT 0, | |
31 | lastVisitTime INT(10) NOT NULL DEFAULT 0, | |
219838a1 AE |
32 | joinedAt INT(10) NOT NULL DEFAULT 0, |
33 | leftAt INT(10) NOT NULL DEFAULT 0, | |
f7ac06dc | 34 | lastMessageID INT(10) NULL, |
2bf40f75 MW |
35 | |
36 | UNIQUE KEY (participantID, conversationID), | |
37 | KEY (participantID, hideConversation) | |
38 | ); | |
39 | ||
40 | DROP TABLE IF EXISTS wcf1_conversation_message; | |
41 | CREATE TABLE wcf1_conversation_message ( | |
42 | messageID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, | |
43 | conversationID INT(10) NOT NULL, | |
44 | userID INT(10), | |
45 | username VARCHAR(255) NOT NULL DEFAULT '', | |
46 | message MEDIUMTEXT NOT NULL, | |
47 | time INT(10) NOT NULL DEFAULT 0, | |
48 | attachments SMALLINT(5) NOT NULL DEFAULT 0, | |
2bf40f75 | 49 | enableHtml TINYINT(1) NOT NULL DEFAULT 0, |
2bf40f75 | 50 | ipAddress VARCHAR(39) NOT NULL DEFAULT '', |
e7ed68e5 MW |
51 | lastEditTime INT(10) NOT NULL DEFAULT 0, |
52 | editCount MEDIUMINT(7) NOT NULL DEFAULT 0, | |
a0c1a541 | 53 | hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0, |
2bf40f75 MW |
54 | |
55 | KEY (conversationID, userID), | |
56 | KEY (ipAddress) | |
57 | ); | |
58 | ||
59 | -- labels | |
60 | DROP TABLE IF EXISTS wcf1_conversation_label; | |
61 | CREATE TABLE wcf1_conversation_label ( | |
62 | labelID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, | |
63 | userID INT(10) NOT NULL, | |
64 | label VARCHAR(80) NOT NULL DEFAULT '', | |
7c5aa434 | 65 | cssClassName VARCHAR(255) NOT NULL DEFAULT '' |
2bf40f75 MW |
66 | ); |
67 | ||
68 | DROP TABLE IF EXISTS wcf1_conversation_label_to_object; | |
69 | CREATE TABLE wcf1_conversation_label_to_object ( | |
70 | labelID INT(10) NOT NULL, | |
71 | conversationID INT(10) NOT NULL, | |
72 | ||
73 | UNIQUE KEY (labelID, conversationID) | |
74 | ); | |
75 | ||
76 | ALTER TABLE wcf1_conversation ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL; | |
77 | ALTER TABLE wcf1_conversation ADD FOREIGN KEY (lastPosterID) REFERENCES wcf1_user (userID) ON DELETE SET NULL; | |
f34884b9 | 78 | ALTER TABLE wcf1_conversation ADD FOREIGN KEY (firstMessageID) REFERENCES wcf1_conversation_message (messageID) ON DELETE SET NULL; |
2bf40f75 MW |
79 | |
80 | ALTER TABLE wcf1_conversation_to_user ADD FOREIGN KEY (conversationID) REFERENCES wcf1_conversation (conversationID) ON DELETE CASCADE; | |
81 | ALTER TABLE wcf1_conversation_to_user ADD FOREIGN KEY (participantID) REFERENCES wcf1_user (userID) ON DELETE SET NULL; | |
f7ac06dc | 82 | ALTER TABLE wcf1_conversation_to_user ADD FOREIGN KEY (lastMessageID) REFERENCES wcf1_conversation_message (messageID) ON DELETE SET NULL; |
2bf40f75 MW |
83 | |
84 | ALTER TABLE wcf1_conversation_message ADD FOREIGN KEY (conversationID) REFERENCES wcf1_conversation (conversationID) ON DELETE CASCADE; | |
85 | ALTER TABLE wcf1_conversation_message ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL; | |
86 | ||
87 | ALTER TABLE wcf1_conversation_label ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE; | |
88 | ||
89 | ALTER TABLE wcf1_conversation_label_to_object ADD FOREIGN KEY (labelID) REFERENCES wcf1_conversation_label (labelID) ON DELETE CASCADE; | |
90 | ALTER TABLE wcf1_conversation_label_to_object ADD FOREIGN KEY (conversationID) REFERENCES wcf1_conversation (conversationID) ON DELETE CASCADE; |