m2pool_docs/db/chat.sql

70 lines
4.9 KiB
MySQL
Raw Normal View History

2025-06-13 07:04:53 +00:00
CREATE TABLE `chat_room` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`user_one_email` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '聊天室用户1(普通用户)',
`user_two_email` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '聊天室用户2(客服)',
`last_user_send_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '用户最后发送时间',
`last_customer_send_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '客服最后发送时间',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '重要聊天室标记 0 正常 1重要',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`del` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0' COMMENT '逻辑删除字段',
PRIMARY KEY (`id`),
UNIQUE KEY `usertwo_userone` (`user_two_email`,`user_one_email`) USING BTREE COMMENT '聊天室快速查找索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 COLLATE=utf8mb4_bin COMMENT='聊天服务---聊天室';
CREATE TABLE `chat_message` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`send_email` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '发送者id',
`content` varchar(255) COLLATE utf8mb4_bin NOT NULL COMMENT '消息内容',
`room_id` bigint(20) NOT NULL COMMENT '外键-聊天室id',
`type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '消息类型 0 文本 1图片',
`read` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0已读 1未读',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 COLLATE=utf8mb4_bin COMMENT='聊天消息存储表';
CREATE TABLE `chat_message_history` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`send_email` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '发送者邮箱',
`content` varchar(255) COLLATE utf8mb4_bin NOT NULL COMMENT '消息内容',
`room_id` bigint(20) NOT NULL COMMENT '外键-聊天室id',
`type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '消息类型 0 文本 1图片',
`read` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0已读 1未读',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 COLLATE=utf8mb4_bin COMMENT='聊天消息存储表';
alter table chat_room MODIFY COLUMN `last_user_send_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '用户最后发送时间';
alter table chat_room MODIFY COLUMN `last_customer_send_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '客服最后发送时间';
ALTER TABLE chat_message ALTER COLUMN room_id SET DEFAULT '0';
ALTER TABLE chat_message_history ALTER COLUMN room_id SET DEFAULT '0';
ALTER TABLE chat_room ALTER COLUMN user_one_email SET DEFAULT '';
ALTER TABLE chat_room ALTER COLUMN user_two_email SET DEFAULT '';
ALTER TABLE chat_message_history
CHANGE COLUMN `read` is_read tinyint(1) NOT NULL DEFAULT '0' COMMENT '0已读 1未读';
ALTER TABLE chat_message
CHANGE COLUMN `read` is_read tinyint(1) NOT NULL DEFAULT '0' COMMENT '0已读 1未读';
-- 2025-4-28 9:50
ALTER TABLE chat_message DROP COLUMN `is_read`;
ALTER TABLE chat_message_history DROP COLUMN `is_read`;
ALTER TABLE chat_room ADD COLUMN service_read_num bigint(4) NOT NULL DEFAULT '0' COMMENT '客服未读消息数量';
ALTER TABLE chat_room ADD COLUMN client_read_num bigint(4) NOT NULL DEFAULT '0' COMMENT '客户未读消息数量';
ALTER TABLE chat_room CHANGE COLUMN content longtext COLLATE utf8mb4_bin NOT NULL COMMENT '消息内容',
-- 存储图片的base64编码文件
ALTER TABLE chat_message CHANGE COLUMN content LONGTEXT NOT NULL COMMENT '消息内容';