TeamTalk数据库说明

IMAdmin

功能

后台管理员表

建表语句

CREATE TABLE `IMAdmin` (
    `id` mediumint(6) unsigned NOT NULL AUTO_INCREMENT,
    `uname` varchar(40) NOT NULL COMMENT '用户名',
    `pwd` char(32) NOT NULL COMMENT '经过md5加密的密码',
    `status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '用户状态 0 :正常 1:删除 可扩展',
    `created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
    `updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

字段说明

id                  管理员id,自增,唯一。
uname               用户名。
pwd                 密码,经过md5加密的密码。
status              状态,0正常,1删除。
created             创建时间。
updated             更新时间。

IMAudio

功能

存储语音地址

建表语句

CREATE TABLE `IMAudio` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `fromId` int(11) unsigned NOT NULL COMMENT '发送者Id',
    `toId` int(11) unsigned NOT NULL COMMENT '接收者Id',
    `path` varchar(255) COLLATE utf8mb4_bin DEFAULT '' COMMENT '语音存储的地址',
    `size` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '文件大小',
    `duration` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '语音时长',
    `created` int(11) unsigned NOT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`),
    KEY `idx_fromId_toId` (`fromId`,`toId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin

字段说明

id                  语音id,自增,唯一。
fromId              发送语音用户id。
toId                接收语音用户id。
path                语音存储的路径。
size                语音文件大小。
duration            语音时长。
created             创建时间。

IMDepart

功能

存储部门信息

建表语句

CREATE TABLE `IMDepart` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '部门id',
    `departName` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '部门名称',
    `priority` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '显示优先级',
    `parentId` int(11) unsigned NOT NULL COMMENT '上级部门id',
    `status` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '状态',
    `created` int(11) unsigned NOT NULL COMMENT '创建时间',
    `updated` int(11) unsigned NOT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_departName` (`departName`),
    KEY `idx_priority_status` (`priority`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin

字段说明

id                  部门id,自增,唯一。
departName          部门名称
priority            部门显示优先级,相同的优先级按照拼音先后显示
parentId            父部门id
status              状态,0表示正常
created             创建时间
updated             更新时间

IMDiscovery

功能

发现配置表

建表语句

CREATE TABLE `IMDiscovery` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
    `itemName` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '名称',
    `itemUrl` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT 'URL',
    `itemPriority` int(11) unsigned NOT NULL COMMENT '显示优先级',
    `status` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '状态',
    `created` int(11) unsigned NOT NULL COMMENT '创建时间',
    `updated` int(11) unsigned NOT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_itemName` (`itemName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin

字段说明

id              发现项id,自增,唯一。
itemName        发现项名称。
iteamUrl        发现项url连接。
iteamPriority   发现项显示优先级。
status          状态。
created         创建时间。
updated         更新时间。

IMGroup

功能

群组表

建表语句

CREATE TABLE `IMGroup` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(256) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '群名称',
    `avatar` varchar(256) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '群头像',
    `creator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建者用户id',
    `type` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '群组类型,1-固定;2-临时群',
    `userCnt` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '成员人数',
    `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '是否删除,0-正常,1-删除',
    `version` int(11) unsigned NOT NULL DEFAULT '1' COMMENT '群版本号',
    `lastChated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后聊天时间',
    `created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
    `updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_name` (`name`(191)),
    KEY `idx_creator` (`creator`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='IM群信息'

字段说明

id              群组id,自增,唯一。
name            群组名称。
avatar          群组头像,目前没用,群组头像是客户端自己合成的。
creator         群主。
type            群类型,是临时群,还是固定群。
userCnt         群成员数目。
status          状态。
version         群信息版本。
lastChated      最后聊天时间。
created         创建时间。
updated         最后更新时间。

IMGroupMember

功能

群成员表

建表语句

CREATE TABLE `IMGroupMember` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `groupId` int(11) unsigned NOT NULL COMMENT '群Id',
    `userId` int(11) unsigned NOT NULL COMMENT '用户id',
    `status` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '是否退出群,0-正常,1-已退出',
    `created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
    `updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_groupId_userId_status` (`groupId`,`userId`,`status`),
    KEY `idx_userId_status_updated` (`userId`,`status`,`updated`),
    KEY `idx_groupId_updated` (`groupId`,`updated`)
) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8 COMMENT='用户和群的关系表'

字段说明

id              自增,唯一。
groupId         群组id。
userId          用户id。
status          状态。
created         创建时间。
updated         更新时间。

IMGroupMessage_(x)

功能

群消息表,x代表第几张表,目前做了分表有8张:0-7.消息具体在哪张表中,是groupId%IMGroupMessage表的数目

建表语句

CREATE TABLE `IMGroupMessage_(x)` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `groupId` int(11) unsigned NOT NULL COMMENT '用户的关系id',
    `userId` int(11) unsigned NOT NULL COMMENT '发送用户的id',
    `msgId` int(11) unsigned NOT NULL COMMENT '消息ID',
    `content` varchar(4096) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '消息内容',
    `type` tinyint(3) unsigned NOT NULL DEFAULT '2' COMMENT '群消息类型,101为群语音,2为文本',
    `status` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '消息状态',
    `created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
    `updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_groupId_status_created` (`groupId`,`status`,`created`),
    KEY `idx_groupId_msgId_status_created` (`groupId`,`msgId`,`status`,`created`)   
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='IM群消息表'

字段说明

id              自增,唯一。
groupId         收消息的群组id。
userId          发消息的用户id。
msgId           消息id,每个群组唯一。
content         消息内容,如果是语音消息则存储语音id。
type            消息类型,文本or语音。
status          状态。
created         创建时间。
updated         更新时间。

IMMessage_(x)

功能

消息表,x代表第几张表,目前做了分表有8张:0-7.具体在那张表,是relateId%IMMessage表数目.

建表语句

CREATE TABLE `IMMessage_0` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `relateId` int(11) unsigned NOT NULL COMMENT '用户的关系id',
    `fromId` int(11) unsigned NOT NULL COMMENT '发送用户的id',
    `toId` int(11) unsigned NOT NULL COMMENT '接收用户的id',
    `msgId` int(11) unsigned NOT NULL COMMENT '消息ID',
    `content` varchar(4096) COLLATE utf8mb4_bin DEFAULT '' COMMENT '消息内容',
    `type` tinyint(2) unsigned NOT NULL DEFAULT '1' COMMENT '消息类型',
    `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0正常 1被删除',
    `created` int(11) unsigned NOT NULL COMMENT '创建时间', 
    `updated` int(11) unsigned NOT NULL COMMENT '更新时间',     PRIMARY KEY (`id`),
    KEY `idx_relateId_status_created` (`relateId`,`status`,`created`),
    KEY `idx_relateId_status_msgId_created` (`relateId`,`status`,`msgId`,`created`),
    KEY `idx_fromId_toId_created` (`fromId`,`toId`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin

字段说明

id              自增,唯一
relateId        用户与用户关系id,在IMrelationShop中。
fromId          发送消息用户id。
toId            接收消息用户id。
msgId           消息id,每个relation 唯一。
content         消息内容,如果是语音消息则存储语音id。
type            类型,文本or语音。
status          状态。
created         创建时间。
updated         更新时间。

IMRrecentSession

功能

最近联系人(会话)表。

建表语句

CREATE TABLE `IMRecentSession` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `userId` int(11) unsigned NOT NULL COMMENT '用户id',
    `peerId` int(11) unsigned NOT NULL COMMENT '对方id',
    `type` tinyint(1) unsigned DEFAULT '0' COMMENT '类型,1-用户,2-群组',
    `status` tinyint(1) unsigned DEFAULT '0' COMMENT '用户:0-正常, 1-用户A删除,群组:0-正常, 1-被删除',
    `created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
    `updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_userId_peerId_status_updated` (`userId`,`peerId`,`status`,`updated`),
    KEY `idx_userId_peerId_type` (`userId`,`peerId`,`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

字段说明

id          会话id,自增,唯一。
userId      用户id。
peerId      对方id。
type        类型,群组or用户。
status      状态。
created     创建时间。
updated     更新时间。

IMRelationShip

功能

用户关系表,标识两个用户之间的唯一关系id,用于消息分表。relationId % 消息表数目。

建表语句

CREATE TABLE `IMRelationShip` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `smallId` int(11) unsigned NOT NULL COMMENT '用户A的id',
    `bigId` int(11) unsigned NOT NULL COMMENT '用户B的id',
    `status` tinyint(1) unsigned DEFAULT '0' COMMENT '用户:0-正常, 1-用户A删除,群组:0-正常, 1-被删除',
    `created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
    `updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_smallId_bigId_status_updated` (`smallId`,`bigId`,`status`,`updated`)   
) ENGINE=InnoDB DEFAULT CHARSET=utf8

字段说明

id          关系id,自增,唯一。
smallId     两个用户中id小的。
bigId       两个用户中id大的。
status      状态。
created     创建时间。
updated     更新时间。

IMUser

功能

用户表

建表语句

CREATE TABLE `IMUser` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户id',
    `sex` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '1男2女0未知',
    `name` varchar(32) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '用户名',
    `domain` varchar(32) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '拼音',
    `nick` varchar(32) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '花名,绰号等',
    `password` varchar(32) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '密码',
    `salt` varchar(4) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '混淆码',
    `phone` varchar(11) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '手机号码',
    `email` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT 'email',
    `avatar` varchar(255) COLLATE utf8mb4_bin DEFAULT '' COMMENT '自定义用户头像',
    `departId` int(11) unsigned NOT NULL COMMENT '所属部门Id',
    `status` tinyint(2) unsigned DEFAULT '0' COMMENT '1. 试用期 2. 正式 3. 离职 4.实习',
    `created` int(11) unsigned NOT NULL COMMENT '创建时间',
    `updated` int(11) unsigned NOT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_domain` (`domain`),
    KEY `idx_name` (`name`),
    KEY `idx_phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin

字段说明

id          用户id,自增,唯一。
sex         性别。
name        用户名。
domain      拼音。
nick        昵称。
password    密码,规则md5(md5(passwd)+salt)。
salt        密码混淆。
phone       电话号码。
email       email。
avatar      用户头像。
departId    所属部门Id
status      状态
created     创建时间。
updated     更新时间。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值