58 lines
2.8 KiB
SQL
58 lines
2.8 KiB
SQL
-- 好友关系表
|
|
CREATE TABLE IF NOT EXISTS `eb_friend` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`user_id` int(11) NOT NULL COMMENT '用户ID',
|
|
`friend_id` int(11) NOT NULL COMMENT '好友ID',
|
|
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态: 1=正常, 0=已删除',
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_user_friend` (`user_id`, `friend_id`),
|
|
KEY `idx_user_id` (`user_id`),
|
|
KEY `idx_friend_id` (`friend_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='好友关系表';
|
|
|
|
-- 好友请求表
|
|
CREATE TABLE IF NOT EXISTS `eb_friend_request` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`from_user_id` int(11) NOT NULL COMMENT '发送者用户ID',
|
|
`to_user_id` int(11) NOT NULL COMMENT '接收者用户ID',
|
|
`message` varchar(255) DEFAULT '' COMMENT '请求消息',
|
|
`status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态: 0=待处理, 1=已接受, 2=已拒绝',
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_from_user` (`from_user_id`),
|
|
KEY `idx_to_user` (`to_user_id`),
|
|
KEY `idx_status` (`status`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='好友请求表';
|
|
|
|
-- 私聊会话表
|
|
CREATE TABLE IF NOT EXISTS `eb_conversation` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`user1_id` int(11) NOT NULL COMMENT '用户1 ID (较小的ID)',
|
|
`user2_id` int(11) NOT NULL COMMENT '用户2 ID (较大的ID)',
|
|
`last_message_id` int(11) DEFAULT NULL COMMENT '最后一条消息ID',
|
|
`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`),
|
|
UNIQUE KEY `uk_users` (`user1_id`, `user2_id`),
|
|
KEY `idx_user1` (`user1_id`),
|
|
KEY `idx_user2` (`user2_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='私聊会话表';
|
|
|
|
-- 私聊消息表
|
|
CREATE TABLE IF NOT EXISTS `eb_conversation_message` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`conversation_id` int(11) NOT NULL COMMENT '会话ID',
|
|
`sender_id` int(11) NOT NULL COMMENT '发送者ID',
|
|
`content` text NOT NULL COMMENT '消息内容',
|
|
`msg_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '消息类型: 1=文本, 2=图片, 3=语音',
|
|
`status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态: 0=未读, 1=已读',
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_conversation` (`conversation_id`),
|
|
KEY `idx_sender` (`sender_id`),
|
|
KEY `idx_create_time` (`create_time`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='私聊消息表';
|