| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- -- DROP TABLE IF EXISTS `zt_im_chat`;
- CREATE TABLE IF NOT EXISTS `zt_im_chat` (
- `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
- `gid` char(40) NOT NULL DEFAULT '',
- `name` varchar(60) NOT NULL DEFAULT '',
- `type` varchar(20) NOT NULL DEFAULT 'group',
- `admins` varchar(255) NOT NULL DEFAULT '',
- `committers` varchar(255) NOT NULL DEFAULT '',
- `subject` mediumint(8) unsigned NOT NULL DEFAULT 0,
- `public` enum('0', '1') NOT NULL DEFAULT '0',
- `createdBy` varchar(30) NOT NULL DEFAULT '',
- `createdDate` datetime NULL,
- `ownedBy` varchar(30) NOT NULL DEFAULT '',
- `editedBy` varchar(30) NOT NULL DEFAULT '',
- `editedDate` datetime NULL,
- `mergedDate` datetime NULL,
- `lastActiveTime` datetime NULL,
- `lastMessage` int(11) unsigned NOT NULL DEFAULT 0,
- `lastMessageIndex` int(11) unsigned NOT NULL DEFAULT 0,
- `dismissDate` datetime NULL,
- `pinnedMessages` text NULL,
- `mergedChats` text NULL,
- `adminInvite` enum('0','1') NOT NULL DEFAULT '0',
- `avatar` text NULL,
- `archiveDate` datetime NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE INDEX `gid` ON `zt_im_chat`(`gid`);
- CREATE INDEX `name` ON `zt_im_chat`(`name`);
- CREATE INDEX `type` ON `zt_im_chat`(`type`);
- CREATE INDEX `public` ON `zt_im_chat`(`public`);
- CREATE INDEX `createdBy` ON `zt_im_chat`(`createdBy`);
- CREATE INDEX `editedBy` ON `zt_im_chat`(`editedBy`);
- -- DROP TABLE IF EXISTS `zt_im_chatuser`;
- CREATE TABLE IF NOT EXISTS `zt_im_chatuser` (
- `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
- `cgid` char(40) NOT NULL DEFAULT '',
- `user` mediumint(8) NOT NULL DEFAULT 0,
- `order` smallint(5) NOT NULL DEFAULT 0,
- `star` enum('0', '1') NOT NULL DEFAULT '0',
- `hide` enum('0', '1') NOT NULL DEFAULT '0',
- `mute` enum('0', '1') NOT NULL DEFAULT '0',
- `freeze` enum('0', '1') NOT NULL DEFAULT '0',
- `join` datetime NULL,
- `quit` datetime NULL,
- `category` varchar(40) NOT NULL DEFAULT '',
- `lastReadMessage` int(11) unsigned NOT NULL DEFAULT 0,
- `lastReadMessageIndex` int(11) unsigned NOT NULL DEFAULT 0,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE INDEX `cgid` ON `zt_im_chatuser`(`cgid`);
- CREATE INDEX `user` ON `zt_im_chatuser`(`user`);
- CREATE INDEX `order` ON `zt_im_chatuser`(`order`);
- CREATE INDEX `star` ON `zt_im_chatuser`(`star`);
- CREATE INDEX `hide` ON `zt_im_chatuser`(`hide`);
- CREATE UNIQUE INDEX `chatuser` ON `zt_im_chatuser`(`cgid`, `user`);
- -- DROP TABLE IF EXISTS `zt_im_client`;
- CREATE TABLE IF NOT EXISTS `zt_im_client` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
- `version` char(30) NOT NULL DEFAULT '',
- `desc` varchar(100) NOT NULL DEFAULT '',
- `changeLog` text NULL,
- `strategy` varchar(10) NOT NULL DEFAULT '',
- `downloads` text NULL,
- `createdDate` datetime NULL,
- `createdBy` varchar(30) NOT NULL DEFAULT '',
- `editedDate` datetime NULL,
- `editedBy` varchar(30) NOT NULL DEFAULT '',
- `status` enum('released','wait') NOT NULL DEFAULT 'wait',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- -- DROP TABLE IF EXISTS `zt_im_message`;
- CREATE TABLE IF NOT EXISTS `zt_im_message` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
- `gid` char(40) NOT NULL DEFAULT '',
- `cgid` char(40) NOT NULL DEFAULT '',
- `user` varchar(30) NOT NULL DEFAULT '',
- `date` datetime NULL,
- `index` int(11) unsigned NOT NULL DEFAULT 0,
- `type` enum('normal', 'broadcast', 'notify', 'bulletin', 'botcommand') NOT NULL DEFAULT 'normal',
- `content` text NULL,
- `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object', 'code', 'merge', 'voice') NOT NULL DEFAULT 'text',
- `data` text NULL,
- `deleted` enum('0','1') NOT NULL DEFAULT '0',
- `read` JSON NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE INDEX `mgid` ON `zt_im_message`(`gid`);
- CREATE INDEX `mcgid` ON `zt_im_message`(`cgid`);
- CREATE INDEX `muser` ON `zt_im_message`(`user`);
- CREATE INDEX `mtype` ON `zt_im_message`(`type`);
- -- DROP TABLE IF EXISTS `zt_im_message_backup`;
- CREATE TABLE IF NOT EXISTS `zt_im_message_backup` (
- `id` int(11) unsigned NOT NULL,
- `gid` char(40) NOT NULL DEFAULT '',
- `cgid` char(40) NOT NULL DEFAULT '',
- `user` varchar(30) NOT NULL DEFAULT '',
- `date` datetime NULL,
- `index` int(11) unsigned NOT NULL DEFAULT 0,
- `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal',
- `content` text NULL,
- `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object', 'code') NOT NULL DEFAULT 'text',
- `data` text NULL,
- `deleted` enum('0','1') NOT NULL DEFAULT '0'
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- -- DROP TABLE IF EXISTS `zt_im_message_index`;
- CREATE TABLE IF NOT EXISTS `zt_im_message_index` (
- `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
- `tableName` char(64) NOT NULL,
- `start` int(11) unsigned NOT NULL,
- `end` int(11) unsigned NOT NULL,
- `startDate` datetime NULL,
- `endDate` datetime NULL,
- `chats` text NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE INDEX `tableName` ON `zt_im_message_index`(`tableName`);
- CREATE INDEX `start` ON `zt_im_message_index`(`start`);
- CREATE INDEX `end` ON `zt_im_message_index`(`end`);
- CREATE INDEX `startDate` ON `zt_im_message_index`(`startDate`);
- CREATE INDEX `endDate` ON `zt_im_message_index`(`endDate`);
- -- DROP TABLE IF EXISTS `zt_im_chat_message_index`;
- CREATE TABLE IF NOT EXISTS `zt_im_chat_message_index` (
- `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
- `gid` char(40) NOT NULL,
- `tableName` char(64) NOT NULL,
- `start` int(11) unsigned NOT NULL,
- `end` int(11) unsigned NOT NULL,
- `startIndex` int(11) unsigned NOT NULL,
- `endIndex` int(11) unsigned NOT NULL,
- `startDate` datetime NULL,
- `endDate` datetime NULL,
- `count` mediumint(8) unsigned NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE INDEX `start` ON `zt_im_chat_message_index`(`start`);
- CREATE INDEX `end` ON `zt_im_chat_message_index`(`end`);
- CREATE INDEX `startDate` ON `zt_im_chat_message_index`(`startDate`);
- CREATE INDEX `endDate` ON `zt_im_chat_message_index`(`endDate`);
- CREATE INDEX `chatstartindex` ON `zt_im_chat_message_index`(`gid`,`startIndex`);
- CREATE INDEX `chatendindex` ON `zt_im_chat_message_index`(`gid`,`endIndex`);
- CREATE UNIQUE INDEX `chattable` ON `zt_im_chat_message_index`(`gid`,`tableName`);
- -- DROP TABLE IF EXISTS `zt_im_messagestatus`;
- CREATE TABLE IF NOT EXISTS `zt_im_messagestatus` (
- `user` mediumint(8) NOT NULL DEFAULT 0,
- `message` int(11) unsigned NOT NULL,
- `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting'
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE UNIQUE INDEX `user` ON `zt_im_messagestatus`(`user`,`message`);
- -- DROP TABLE IF EXISTS `zt_im_queue`;
- CREATE TABLE IF NOT EXISTS `zt_im_queue` (
- `id` mediumint(8) unsigned NOT NULL auto_increment,
- `type` char(30) NOT NULL,
- `content` text NULL,
- `addDate` datetime NULL,
- `processDate` datetime NULL,
- `result` text NULL,
- `status` char(30) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- -- DROP TABLE IF EXISTS `zt_im_conference`;
- CREATE TABLE IF NOT EXISTS `zt_im_conference` (
- `id` mediumint(8) unsigned NOT NULL auto_increment,
- `rid` char(40) NOT NULL DEFAULT '',
- `cgid` char(40) NOT NULL DEFAULT '',
- `status` enum ('closed', 'open', 'notStarted', 'canceled') NOT NULL DEFAULT 'closed',
- `participants` text NULL,
- `subscribers` text NULL,
- `invitee` text NULL,
- `openedBy` mediumint(8) NOT NULL DEFAULT 0,
- `openedDate` datetime NULL,
- `topic` text NULL,
- `startTime` datetime NULL,
- `endTime` datetime NULL,
- `password` char(20) NOT NULL DEFAULT '',
- `type` enum('default','periodic','scheduled') NOT NULL DEFAULT 'default',
- `number` char(20) NOT NULL DEFAULT '',
- `note` text NULL,
- `sentNotify` tinyint(1) NOT NULL DEFAULT 0,
- `reminderTime` int NOT NULL DEFAULT 0,
- `moderators` text NULL,
- `isPrivate` enum ('0', '1') NOT NULL DEFAULT '0',
- `isInner` enum('0', '1') NOT NULL DEFAULT '1',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE INDEX `status` ON `zt_im_conference`(`status`);
- -- DROP TABLE IF EXISTS `zt_im_conferenceaction`;
- CREATE TABLE IF NOT EXISTS `zt_im_conferenceaction` (
- `id` mediumint(8) unsigned NOT NULL auto_increment,
- `rid` char(40) NOT NULL DEFAULT '',
- `type` enum('create','invite','join','leave','close','publish') NOT NULL DEFAULT 'create',
- `data` text NULL,
- `user` mediumint(8) NOT NULL DEFAULT 0,
- `date` datetime NULL,
- `device` char(40) NOT NULL DEFAULT 'default',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- -- DROP TABLE IF EXISTS `zt_im_conferenceuser`;
- CREATE TABLE IF NOT EXISTS `zt_im_conferenceuser` (
- `id` mediumint(8) unsigned NOT NULL auto_increment,
- `conference` mediumint(8) NOT NULL DEFAULT 0,
- `user` mediumint(8) NOT NULL DEFAULT 0,
- `hide` enum('0', '1') NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE UNIQUE INDEX `conferenceuser` ON `zt_im_conferenceuser`(`conference`, `user`);
- -- DROP TABLE IF EXISTS `zt_im_conferenceinvite`;
- CREATE TABLE IF NOT EXISTS `zt_im_conferenceinvite` (
- `id` mediumint(8) unsigned NOT NULL auto_increment,
- `conferenceID` mediumint(8) unsigned NOT NULL,
- `inviteeID` mediumint(8) unsigned NOT NULL,
- `status` enum('pending', 'accepted', 'rejected') NOT NULL DEFAULT 'pending',
- `createdDate` datetime NULL,
- `updatedDate` datetime NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE UNIQUE INDEX `conference_user` ON `zt_im_conferenceinvite`(`conferenceID`, `inviteeID`);
- -- DROP TABLE IF EXISTS `zt_im_userdevice`;
- CREATE TABLE IF NOT EXISTS `zt_im_userdevice` (
- `id` mediumint(8) unsigned NOT NULL auto_increment,
- `user` mediumint(8) NOT NULL DEFAULT 0,
- `device` char(40) NOT NULL DEFAULT 'default',
- `deviceID` char(40) NOT NULL DEFAULT '',
- `token` char(64) NOT NULL DEFAULT '',
- `validUntil` datetime NULL,
- `lastLogin` datetime NULL,
- `lastLogout` datetime NULL,
- `online` tinyint(1) NOT NULL DEFAULT 0,
- `version` char(10) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- CREATE INDEX `user` ON `zt_im_userdevice`(`user`);
- CREATE INDEX `lastLogin` ON `zt_im_userdevice`(`lastLogin`);
- CREATE INDEX `lastLogout` ON `zt_im_userdevice`(`lastLogout`);
- CREATE UNIQUE INDEX `userdevice` ON `zt_im_userdevice`(`user`, `device`);
|