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,
6 firstMessageID
INT(10),
8 username
VARCHAR(255) NOT NULL DEFAULT '',
9 lastPostTime
INT(10) NOT NULL DEFAULT 0,
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,
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),
28 username
VARCHAR(255) NOT NULL DEFAULT '',
29 hideConversation
TINYINT(1) NOT NULL DEFAULT 0,
30 isInvisible
TINYINT(1) NOT NULL DEFAULT 0,
31 lastVisitTime
INT(10) NOT NULL DEFAULT 0,
32 joinedAt
INT(10) NOT NULL DEFAULT 0,
33 leftAt
INT(10) NOT NULL DEFAULT 0,
34 lastMessageID
INT(10) NULL,
36 UNIQUE KEY (participantID
, conversationID
),
37 KEY (participantID
, hideConversation
)
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,
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,
49 enableHtml
TINYINT(1) NOT NULL DEFAULT 0,
50 ipAddress
VARCHAR(39) NOT NULL DEFAULT '',
51 lastEditTime
INT(10) NOT NULL DEFAULT 0,
52 editCount
MEDIUMINT(7) NOT NULL DEFAULT 0,
53 hasEmbeddedObjects
TINYINT(1) NOT NULL DEFAULT 0,
55 KEY (conversationID
, userID
),
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 '',
65 cssClassName
VARCHAR(255) NOT NULL DEFAULT ''
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,
73 UNIQUE KEY (labelID
, conversationID
)
76 ALTER TABLE wcf1_user_group
ADD canBeAddedAsConversationParticipant
TINYINT(1) NOT NULL DEFAULT 0;
78 ALTER TABLE wcf1_conversation
ADD FOREIGN KEY (userID
) REFERENCES wcf1_user (userID
) ON DELETE SET NULL;
79 ALTER TABLE wcf1_conversation
ADD FOREIGN KEY (lastPosterID
) REFERENCES wcf1_user (userID
) ON DELETE SET NULL;
80 ALTER TABLE wcf1_conversation
ADD FOREIGN KEY (firstMessageID
) REFERENCES wcf1_conversation_message (messageID
) ON DELETE SET NULL;
82 ALTER TABLE wcf1_conversation_to_user
ADD FOREIGN KEY (conversationID
) REFERENCES wcf1_conversation (conversationID
) ON DELETE CASCADE;
83 ALTER TABLE wcf1_conversation_to_user
ADD FOREIGN KEY (participantID
) REFERENCES wcf1_user (userID
) ON DELETE SET NULL;
84 ALTER TABLE wcf1_conversation_to_user
ADD FOREIGN KEY (lastMessageID
) REFERENCES wcf1_conversation_message (messageID
) ON DELETE SET NULL;
86 ALTER TABLE wcf1_conversation_message
ADD FOREIGN KEY (conversationID
) REFERENCES wcf1_conversation (conversationID
) ON DELETE CASCADE;
87 ALTER TABLE wcf1_conversation_message
ADD FOREIGN KEY (userID
) REFERENCES wcf1_user (userID
) ON DELETE SET NULL;
89 ALTER TABLE wcf1_conversation_label
ADD FOREIGN KEY (userID
) REFERENCES wcf1_user (userID
) ON DELETE CASCADE;
91 ALTER TABLE wcf1_conversation_label_to_object
ADD FOREIGN KEY (labelID
) REFERENCES wcf1_conversation_label (labelID
) ON DELETE CASCADE;
92 ALTER TABLE wcf1_conversation_label_to_object
ADD FOREIGN KEY (conversationID
) REFERENCES wcf1_conversation (conversationID
) ON DELETE CASCADE;