数据库表设计
DROP TABLE IF EXISTS `member`; CREATE TABLE `member` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(125) NOT NULL DEFAULT '' COMMENT '账户', `password` varchar(50) NOT NULL DEFAULT '' COMMENT '密码,md5加密', `nickname` varchar(50) NOT NULL DEFAULT '' COMMENT '昵称', `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` DATETIME NULL DEFAULT NULL COMMENT '更新时间', `avator` varchar(500) NOT NULL DEFAULT '' COMMENT '头像', `online_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '在线状态,1在线,2离线', `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '开启状态,0正常,1关闭', `email` varchar(125) NOT NULL DEFAULT '' COMMENT '绑定邮箱', `tel` varchar(125) NOT NULL DEFAULT '' COMMENT '绑定手机', `uuid` varchar(125) NOT NULL DEFAULT '' COMMENT 'uuid', PRIMARY KEY (`id`) COMMENT '自增主键索引', UNIQUE KEY `idx_name` (`name`) COMMENT '账户唯一索引', KEY `idx_tel` (`tel`) COMMENT '手机号索引', KEY `idx_email` (`email`) COMMENT '邮箱索引', KEY `idx_uuid` (`uuid`) COMMENT 'uuid索引', KEY `idx_updated_at` (`updated_at`) COMMENT '更新时间索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '成员表'; DROP TABLE IF EXISTS `chat_group`; CREATE TABLE chat_group ( `id` INT NOT NULL AUTO_INCREMENT, `ent_id` varchar(100) NOT NULL DEFAULT '' COMMENT '企业ID', `member_id` varchar(500) NOT NULL DEFAULT '' COMMENT '成员ID', `group_name` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '群名称', `uuid` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '唯一ID', `member_type` tinyint(4) NOT NULL DEFAULT 2 COMMENT '成员类型,1管理,2成员', `unread` int(11) NOT NULL DEFAULT '0' COMMENT '未读消息数', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `uuid` (`uuid`) COMMENT '唯一ID索引', KEY `member_id` (`member_id`) COMMENT '成员ID索引', KEY `ent_id` (`ent_id`) COMMENT '企业ID索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '聊天群(写扩散)'; DROP TABLE IF EXISTS `group_member`; CREATE TABLE group_member ( `id` INT NOT NULL AUTO_INCREMENT, `ent_id` varchar(100) NOT NULL DEFAULT '' COMMENT '企业ID', `member_id` varchar(500) NOT NULL DEFAULT '' COMMENT '成员ID', `member_name` varchar(500) NOT NULL DEFAULT '' COMMENT '成员名称', `member_avatar` varchar(500) NOT NULL DEFAULT '' COMMENT '成员头像', `group_id` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '群ID', `member_type` tinyint(4) NOT NULL DEFAULT 2 COMMENT '成员类型,1管理,2成员', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `group_id` (`group_id`) COMMENT '群ID索引', KEY `member_id` (`member_id`) COMMENT '成员ID索引', KEY `ent_id` (`ent_id`) COMMENT '企业ID索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '聊天群成员(写扩散)'; DROP TABLE IF EXISTS `group_message`; CREATE TABLE group_message ( `id` INT NOT NULL AUTO_INCREMENT, `ent_id` varchar(100) NOT NULL DEFAULT '' COMMENT '企业ID', `sender` varchar(500) NOT NULL DEFAULT '' COMMENT '发送成员ID', `sender_name` varchar(500) NOT NULL DEFAULT '' COMMENT '发送成员名称', `sender_avatar` varchar(500) NOT NULL DEFAULT '' COMMENT '发送成员头像', `group_id` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '群ID', `message_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '消息类型,1消息,2通知', `message_content` TEXT DEFAULT NULL COMMENT '消息内容', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `group_id` (`group_id`) COMMENT '群ID索引', KEY `sender` (`sender`) COMMENT '发送成员ID索引', KEY `ent_id` (`ent_id`) COMMENT '企业ID索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '聊天群消息(读扩散)';
适当数据冗余,实现都扩散和写扩散的结合
标签:COMMENT,群聊,客服群,DEFAULT,ID,KEY,vx,NULL,id From: https://www.cnblogs.com/taoshihan/p/18552333