xuanxuan.sql 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. -- DROP TABLE IF EXISTS `zt_im_chat`;
  2. CREATE TABLE IF NOT EXISTS `zt_im_chat` (
  3. `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  4. `gid` char(40) NOT NULL DEFAULT '',
  5. `name` varchar(60) NOT NULL DEFAULT '',
  6. `type` varchar(20) NOT NULL DEFAULT 'group',
  7. `admins` varchar(255) NOT NULL DEFAULT '',
  8. `committers` varchar(255) NOT NULL DEFAULT '',
  9. `subject` mediumint(8) unsigned NOT NULL DEFAULT 0,
  10. `public` enum('0', '1') NOT NULL DEFAULT '0',
  11. `createdBy` varchar(30) NOT NULL DEFAULT '',
  12. `createdDate` datetime NULL,
  13. `ownedBy` varchar(30) NOT NULL DEFAULT '',
  14. `editedBy` varchar(30) NOT NULL DEFAULT '',
  15. `editedDate` datetime NULL,
  16. `mergedDate` datetime NULL,
  17. `lastActiveTime` datetime NULL,
  18. `lastMessage` int(11) unsigned NOT NULL DEFAULT 0,
  19. `lastMessageIndex` int(11) unsigned NOT NULL DEFAULT 0,
  20. `dismissDate` datetime NULL,
  21. `pinnedMessages` text NULL,
  22. `mergedChats` text NULL,
  23. `adminInvite` enum('0','1') NOT NULL DEFAULT '0',
  24. `avatar` text NULL,
  25. `archiveDate` datetime NULL,
  26. PRIMARY KEY (`id`)
  27. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  28. CREATE INDEX `gid` ON `zt_im_chat`(`gid`);
  29. CREATE INDEX `name` ON `zt_im_chat`(`name`);
  30. CREATE INDEX `type` ON `zt_im_chat`(`type`);
  31. CREATE INDEX `public` ON `zt_im_chat`(`public`);
  32. CREATE INDEX `createdBy` ON `zt_im_chat`(`createdBy`);
  33. CREATE INDEX `editedBy` ON `zt_im_chat`(`editedBy`);
  34. -- DROP TABLE IF EXISTS `zt_im_chatuser`;
  35. CREATE TABLE IF NOT EXISTS `zt_im_chatuser` (
  36. `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  37. `cgid` char(40) NOT NULL DEFAULT '',
  38. `user` mediumint(8) NOT NULL DEFAULT 0,
  39. `order` smallint(5) NOT NULL DEFAULT 0,
  40. `star` enum('0', '1') NOT NULL DEFAULT '0',
  41. `hide` enum('0', '1') NOT NULL DEFAULT '0',
  42. `mute` enum('0', '1') NOT NULL DEFAULT '0',
  43. `freeze` enum('0', '1') NOT NULL DEFAULT '0',
  44. `join` datetime NULL,
  45. `quit` datetime NULL,
  46. `category` varchar(40) NOT NULL DEFAULT '',
  47. `lastReadMessage` int(11) unsigned NOT NULL DEFAULT 0,
  48. `lastReadMessageIndex` int(11) unsigned NOT NULL DEFAULT 0,
  49. PRIMARY KEY (`id`)
  50. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  51. CREATE INDEX `cgid` ON `zt_im_chatuser`(`cgid`);
  52. CREATE INDEX `user` ON `zt_im_chatuser`(`user`);
  53. CREATE INDEX `order` ON `zt_im_chatuser`(`order`);
  54. CREATE INDEX `star` ON `zt_im_chatuser`(`star`);
  55. CREATE INDEX `hide` ON `zt_im_chatuser`(`hide`);
  56. CREATE UNIQUE INDEX `chatuser` ON `zt_im_chatuser`(`cgid`, `user`);
  57. -- DROP TABLE IF EXISTS `zt_im_client`;
  58. CREATE TABLE IF NOT EXISTS `zt_im_client` (
  59. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  60. `version` char(30) NOT NULL DEFAULT '',
  61. `desc` varchar(100) NOT NULL DEFAULT '',
  62. `changeLog` text NULL,
  63. `strategy` varchar(10) NOT NULL DEFAULT '',
  64. `downloads` text NULL,
  65. `createdDate` datetime NULL,
  66. `createdBy` varchar(30) NOT NULL DEFAULT '',
  67. `editedDate` datetime NULL,
  68. `editedBy` varchar(30) NOT NULL DEFAULT '',
  69. `status` enum('released','wait') NOT NULL DEFAULT 'wait',
  70. PRIMARY KEY (`id`)
  71. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  72. -- DROP TABLE IF EXISTS `zt_im_message`;
  73. CREATE TABLE IF NOT EXISTS `zt_im_message` (
  74. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  75. `gid` char(40) NOT NULL DEFAULT '',
  76. `cgid` char(40) NOT NULL DEFAULT '',
  77. `user` varchar(30) NOT NULL DEFAULT '',
  78. `date` datetime NULL,
  79. `index` int(11) unsigned NOT NULL DEFAULT 0,
  80. `type` enum('normal', 'broadcast', 'notify', 'bulletin', 'botcommand') NOT NULL DEFAULT 'normal',
  81. `content` text NULL,
  82. `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object', 'code', 'merge', 'voice') NOT NULL DEFAULT 'text',
  83. `data` text NULL,
  84. `deleted` enum('0','1') NOT NULL DEFAULT '0',
  85. `read` JSON NULL,
  86. PRIMARY KEY (`id`)
  87. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  88. CREATE INDEX `mgid` ON `zt_im_message`(`gid`);
  89. CREATE INDEX `mcgid` ON `zt_im_message`(`cgid`);
  90. CREATE INDEX `muser` ON `zt_im_message`(`user`);
  91. CREATE INDEX `mtype` ON `zt_im_message`(`type`);
  92. -- DROP TABLE IF EXISTS `zt_im_message_backup`;
  93. CREATE TABLE IF NOT EXISTS `zt_im_message_backup` (
  94. `id` int(11) unsigned NOT NULL,
  95. `gid` char(40) NOT NULL DEFAULT '',
  96. `cgid` char(40) NOT NULL DEFAULT '',
  97. `user` varchar(30) NOT NULL DEFAULT '',
  98. `date` datetime NULL,
  99. `index` int(11) unsigned NOT NULL DEFAULT 0,
  100. `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal',
  101. `content` text NULL,
  102. `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object', 'code') NOT NULL DEFAULT 'text',
  103. `data` text NULL,
  104. `deleted` enum('0','1') NOT NULL DEFAULT '0'
  105. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  106. -- DROP TABLE IF EXISTS `zt_im_message_index`;
  107. CREATE TABLE IF NOT EXISTS `zt_im_message_index` (
  108. `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  109. `tableName` char(64) NOT NULL,
  110. `start` int(11) unsigned NOT NULL,
  111. `end` int(11) unsigned NOT NULL,
  112. `startDate` datetime NULL,
  113. `endDate` datetime NULL,
  114. `chats` text NULL,
  115. PRIMARY KEY (`id`)
  116. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  117. CREATE INDEX `tableName` ON `zt_im_message_index`(`tableName`);
  118. CREATE INDEX `start` ON `zt_im_message_index`(`start`);
  119. CREATE INDEX `end` ON `zt_im_message_index`(`end`);
  120. CREATE INDEX `startDate` ON `zt_im_message_index`(`startDate`);
  121. CREATE INDEX `endDate` ON `zt_im_message_index`(`endDate`);
  122. -- DROP TABLE IF EXISTS `zt_im_chat_message_index`;
  123. CREATE TABLE IF NOT EXISTS `zt_im_chat_message_index` (
  124. `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  125. `gid` char(40) NOT NULL,
  126. `tableName` char(64) NOT NULL,
  127. `start` int(11) unsigned NOT NULL,
  128. `end` int(11) unsigned NOT NULL,
  129. `startIndex` int(11) unsigned NOT NULL,
  130. `endIndex` int(11) unsigned NOT NULL,
  131. `startDate` datetime NULL,
  132. `endDate` datetime NULL,
  133. `count` mediumint(8) unsigned NOT NULL,
  134. PRIMARY KEY (`id`)
  135. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  136. CREATE INDEX `start` ON `zt_im_chat_message_index`(`start`);
  137. CREATE INDEX `end` ON `zt_im_chat_message_index`(`end`);
  138. CREATE INDEX `startDate` ON `zt_im_chat_message_index`(`startDate`);
  139. CREATE INDEX `endDate` ON `zt_im_chat_message_index`(`endDate`);
  140. CREATE INDEX `chatstartindex` ON `zt_im_chat_message_index`(`gid`,`startIndex`);
  141. CREATE INDEX `chatendindex` ON `zt_im_chat_message_index`(`gid`,`endIndex`);
  142. CREATE UNIQUE INDEX `chattable` ON `zt_im_chat_message_index`(`gid`,`tableName`);
  143. -- DROP TABLE IF EXISTS `zt_im_messagestatus`;
  144. CREATE TABLE IF NOT EXISTS `zt_im_messagestatus` (
  145. `user` mediumint(8) NOT NULL DEFAULT 0,
  146. `message` int(11) unsigned NOT NULL,
  147. `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting'
  148. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  149. CREATE UNIQUE INDEX `user` ON `zt_im_messagestatus`(`user`,`message`);
  150. -- DROP TABLE IF EXISTS `zt_im_queue`;
  151. CREATE TABLE IF NOT EXISTS `zt_im_queue` (
  152. `id` mediumint(8) unsigned NOT NULL auto_increment,
  153. `type` char(30) NOT NULL,
  154. `content` text NULL,
  155. `addDate` datetime NULL,
  156. `processDate` datetime NULL,
  157. `result` text NULL,
  158. `status` char(30) NOT NULL,
  159. PRIMARY KEY (`id`)
  160. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  161. -- DROP TABLE IF EXISTS `zt_im_conference`;
  162. CREATE TABLE IF NOT EXISTS `zt_im_conference` (
  163. `id` mediumint(8) unsigned NOT NULL auto_increment,
  164. `rid` char(40) NOT NULL DEFAULT '',
  165. `cgid` char(40) NOT NULL DEFAULT '',
  166. `status` enum ('closed', 'open', 'notStarted', 'canceled') NOT NULL DEFAULT 'closed',
  167. `participants` text NULL,
  168. `subscribers` text NULL,
  169. `invitee` text NULL,
  170. `openedBy` mediumint(8) NOT NULL DEFAULT 0,
  171. `openedDate` datetime NULL,
  172. `topic` text NULL,
  173. `startTime` datetime NULL,
  174. `endTime` datetime NULL,
  175. `password` char(20) NOT NULL DEFAULT '',
  176. `type` enum('default','periodic','scheduled') NOT NULL DEFAULT 'default',
  177. `number` char(20) NOT NULL DEFAULT '',
  178. `note` text NULL,
  179. `sentNotify` tinyint(1) NOT NULL DEFAULT 0,
  180. `reminderTime` int NOT NULL DEFAULT 0,
  181. `moderators` text NULL,
  182. `isPrivate` enum ('0', '1') NOT NULL DEFAULT '0',
  183. `isInner` enum('0', '1') NOT NULL DEFAULT '1',
  184. PRIMARY KEY (`id`)
  185. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  186. CREATE INDEX `status` ON `zt_im_conference`(`status`);
  187. -- DROP TABLE IF EXISTS `zt_im_conferenceaction`;
  188. CREATE TABLE IF NOT EXISTS `zt_im_conferenceaction` (
  189. `id` mediumint(8) unsigned NOT NULL auto_increment,
  190. `rid` char(40) NOT NULL DEFAULT '',
  191. `type` enum('create','invite','join','leave','close','publish') NOT NULL DEFAULT 'create',
  192. `data` text NULL,
  193. `user` mediumint(8) NOT NULL DEFAULT 0,
  194. `date` datetime NULL,
  195. `device` char(40) NOT NULL DEFAULT 'default',
  196. PRIMARY KEY (`id`)
  197. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  198. -- DROP TABLE IF EXISTS `zt_im_conferenceuser`;
  199. CREATE TABLE IF NOT EXISTS `zt_im_conferenceuser` (
  200. `id` mediumint(8) unsigned NOT NULL auto_increment,
  201. `conference` mediumint(8) NOT NULL DEFAULT 0,
  202. `user` mediumint(8) NOT NULL DEFAULT 0,
  203. `hide` enum('0', '1') NOT NULL DEFAULT '0',
  204. PRIMARY KEY (`id`)
  205. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  206. CREATE UNIQUE INDEX `conferenceuser` ON `zt_im_conferenceuser`(`conference`, `user`);
  207. -- DROP TABLE IF EXISTS `zt_im_conferenceinvite`;
  208. CREATE TABLE IF NOT EXISTS `zt_im_conferenceinvite` (
  209. `id` mediumint(8) unsigned NOT NULL auto_increment,
  210. `conferenceID` mediumint(8) unsigned NOT NULL,
  211. `inviteeID` mediumint(8) unsigned NOT NULL,
  212. `status` enum('pending', 'accepted', 'rejected') NOT NULL DEFAULT 'pending',
  213. `createdDate` datetime NULL,
  214. `updatedDate` datetime NULL,
  215. PRIMARY KEY (`id`)
  216. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  217. CREATE UNIQUE INDEX `conference_user` ON `zt_im_conferenceinvite`(`conferenceID`, `inviteeID`);
  218. -- DROP TABLE IF EXISTS `zt_im_userdevice`;
  219. CREATE TABLE IF NOT EXISTS `zt_im_userdevice` (
  220. `id` mediumint(8) unsigned NOT NULL auto_increment,
  221. `user` mediumint(8) NOT NULL DEFAULT 0,
  222. `device` char(40) NOT NULL DEFAULT 'default',
  223. `deviceID` char(40) NOT NULL DEFAULT '',
  224. `token` char(64) NOT NULL DEFAULT '',
  225. `validUntil` datetime NULL,
  226. `lastLogin` datetime NULL,
  227. `lastLogout` datetime NULL,
  228. `online` tinyint(1) NOT NULL DEFAULT 0,
  229. `version` char(10) NOT NULL DEFAULT '',
  230. PRIMARY KEY (`id`)
  231. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  232. CREATE INDEX `user` ON `zt_im_userdevice`(`user`);
  233. CREATE INDEX `lastLogin` ON `zt_im_userdevice`(`lastLogin`);
  234. CREATE INDEX `lastLogout` ON `zt_im_userdevice`(`lastLogout`);
  235. CREATE UNIQUE INDEX `userdevice` ON `zt_im_userdevice`(`user`, `device`);