2012-05-19 18:07:35 +00:00
|
|
|
-- --
|
2012-03-12 16:18:15 +00:00
|
|
|
-- Database Structure for Tims Chat
|
|
|
|
--
|
|
|
|
-- @author Tim Düsterhus
|
2013-01-19 19:36:40 +00:00
|
|
|
-- @copyright 2010-2013 Tim Düsterhus
|
2012-03-12 16:18:15 +00:00
|
|
|
-- @license Creative Commons Attribution-NonCommercial-ShareAlike <http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode>
|
2013-01-19 19:36:40 +00:00
|
|
|
-- @package be.bastelstu.chat
|
2012-05-19 18:07:35 +00:00
|
|
|
-- --
|
2012-03-12 16:18:15 +00:00
|
|
|
|
2013-01-19 19:36:40 +00:00
|
|
|
DROP TABLE IF EXISTS chat1_message;
|
|
|
|
CREATE TABLE chat1_message (
|
2012-03-04 17:45:17 +00:00
|
|
|
messageID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
|
|
roomID INT(10) NOT NULL,
|
|
|
|
sender INT(10) DEFAULT NULL,
|
|
|
|
username VARCHAR(255) DEFAULT NULL,
|
|
|
|
receiver INT(10) DEFAULT NULL,
|
|
|
|
time INT(10) NOT NULL,
|
|
|
|
type TINYINT(3) NOT NULL DEFAULT 1,
|
|
|
|
message MEDIUMTEXT NOT NULL,
|
|
|
|
enableSmilies TINYINT(1) NOT NULL DEFAULT 1,
|
|
|
|
enableHTML TINYINT(1) NOT NULL DEFAULT 0,
|
|
|
|
color1 INT(10) NOT NULL DEFAULT 0,
|
|
|
|
color2 INT(10) NOT NULL DEFAULT 0,
|
2013-05-28 21:39:19 +00:00
|
|
|
additionalData TEXT DEFAULT NULL,
|
2012-03-04 17:45:17 +00:00
|
|
|
|
2013-05-23 23:21:46 +00:00
|
|
|
KEY (roomID),
|
|
|
|
KEY (sender),
|
|
|
|
KEY (receiver)
|
2011-11-26 14:12:16 +00:00
|
|
|
);
|
|
|
|
|
2013-01-19 19:36:40 +00:00
|
|
|
DROP TABLE IF EXISTS chat1_room;
|
|
|
|
CREATE TABLE chat1_room (
|
2012-03-04 17:45:17 +00:00
|
|
|
roomID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
|
|
title VARCHAR(255) NOT NULL,
|
2013-05-23 23:21:46 +00:00
|
|
|
topic VARCHAR(255) NOT NULL DEFAULT '',
|
2013-05-23 22:08:33 +00:00
|
|
|
showOrder INT(10) NOT NULL DEFAULT 0,
|
2012-03-04 17:45:17 +00:00
|
|
|
permanent TINYINT(1) NOT NULL DEFAULT 1,
|
|
|
|
owner INT(10) DEFAULT NULL,
|
|
|
|
|
2013-05-23 23:21:46 +00:00
|
|
|
KEY (showOrder),
|
|
|
|
KEY (owner)
|
2011-11-26 14:12:16 +00:00
|
|
|
);
|
|
|
|
|
2013-01-19 19:36:40 +00:00
|
|
|
DROP TABLE IF EXISTS chat1_suspension;
|
|
|
|
CREATE TABLE chat1_suspension (
|
2012-05-19 18:07:35 +00:00
|
|
|
suspensionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
|
|
userID INT(10) NOT NULL,
|
|
|
|
roomID INT(10) DEFAULT NULL,
|
|
|
|
type TINYINT(3) NOT NULL,
|
2013-05-23 23:21:46 +00:00
|
|
|
expires INT(10) NOT NULL,
|
2013-06-08 14:28:40 +00:00
|
|
|
time INT(10) NOT NULL,
|
|
|
|
issuer INT(10) DEFAULT NULL,
|
2013-06-22 00:19:52 +00:00
|
|
|
reason VARCHAR(255) NOT NULL DEFAULT '',
|
2013-06-22 12:40:54 +00:00
|
|
|
revoked TINYINT(1) NOT NULL DEFAULT 0,
|
|
|
|
revoker INT(10) DEFAULT NULL,
|
2012-03-04 17:45:17 +00:00
|
|
|
|
2013-06-22 12:40:54 +00:00
|
|
|
KEY suspension (userID, roomID, type),
|
2013-05-23 23:21:46 +00:00
|
|
|
KEY (roomID),
|
|
|
|
KEY (type),
|
2013-05-23 23:40:56 +00:00
|
|
|
KEY (expires)
|
2011-11-28 20:52:37 +00:00
|
|
|
);
|
2011-11-26 14:12:16 +00:00
|
|
|
|
2013-05-24 15:30:27 +00:00
|
|
|
ALTER TABLE wcf1_user ADD COLUMN chatRoomID INT(10) DEFAULT NULL;
|
|
|
|
ALTER TABLE wcf1_user ADD COLUMN chatColor1 INT(10) NOT NULL DEFAULT 0;
|
|
|
|
ALTER TABLE wcf1_user ADD COLUMN chatColor2 INT(10) NOT NULL DEFAULT 0;
|
|
|
|
ALTER TABLE wcf1_user ADD COLUMN chatLastActivity INT(10) NOT NULL DEFAULT 0;
|
|
|
|
ALTER TABLE wcf1_user ADD COLUMN chatAway TEXT DEFAULT NULL;
|
|
|
|
ALTER TABLE wcf1_user ADD COLUMN chatLastSeen INT(10) NOT NULL DEFAULT 0;
|
|
|
|
|
2013-01-19 19:36:40 +00:00
|
|
|
ALTER TABLE chat1_message ADD FOREIGN KEY (receiver) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
|
|
|
|
ALTER TABLE chat1_message ADD FOREIGN KEY (roomID) REFERENCES chat1_room (roomID) ON DELETE CASCADE;
|
|
|
|
ALTER TABLE chat1_message ADD FOREIGN KEY (sender) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
|
2011-11-26 14:12:16 +00:00
|
|
|
|
2013-01-19 19:36:40 +00:00
|
|
|
ALTER TABLE chat1_room ADD FOREIGN KEY (owner) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
|
2011-11-28 20:52:37 +00:00
|
|
|
|
2013-01-19 19:36:40 +00:00
|
|
|
ALTER TABLE chat1_suspension ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
|
|
|
|
ALTER TABLE chat1_suspension ADD FOREIGN KEY (roomID) REFERENCES chat1_room (roomID) ON DELETE CASCADE;
|
2013-06-08 14:28:40 +00:00
|
|
|
ALTER TABLE chat1_suspension ADD FOREIGN KEY (issuer) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
|
2013-06-22 12:40:54 +00:00
|
|
|
ALTER TABLE chat1_suspension ADD FOREIGN KEY (revoker) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
|
2012-01-14 11:09:07 +00:00
|
|
|
|
2013-05-24 15:30:27 +00:00
|
|
|
ALTER TABLE wcf1_user ADD FOREIGN KEY (chatRoomID) REFERENCES chat1_room (roomID) ON DELETE SET NULL;
|
|
|
|
|
2013-05-23 22:08:33 +00:00
|
|
|
INSERT INTO chat1_room (title, topic, showOrder) VALUES ('chat.room.title1', 'chat.room.topic1', 1);
|
|
|
|
INSERT INTO chat1_room (title, topic, showOrder) VALUES ('Testroom 2', 'Topic of Testroom 2', 2);
|
2013-06-22 00:19:52 +00:00
|
|
|
INSERT INTO chat1_room (title, topic, showOrder) VALUES ('Testroom with a very long name', 'The topic of this room is rather loing as well!', 3);
|
2013-05-23 22:08:33 +00:00
|
|
|
INSERT INTO chat1_room (title, topic, showOrder) VALUES ('Room w/o topic', '', 4);
|