三张表 用来实现群组功能
CREATE TABLE `group` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '群 ID',
`type` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '群类型[1:普通群;2:企业群;]',
`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '群名称',
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='群';
CREATE TABLE `group_apply` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增 ID',
`group_id` int unsigned NOT NULL DEFAULT '0' COMMENT '群组 ID',
`user_id` int unsigned NOT NULL DEFAULT '0' COMMENT '用户 ID',
`status` int NOT NULL DEFAULT '1' COMMENT '申请状态',
`updated_at` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='申请加群表';
CREATE TABLE `group_member` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增 ID',
`group_id` int unsigned NOT NULL DEFAULT '0' COMMENT '群组 ID',
`user_id` int unsigned NOT NULL DEFAULT '0' COMMENT '用户 ID',
`leader` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '成员属性[0:普通成员;1:管理员;2:群主;]',
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='群成员表';
疑问
- 用户退出群后 是用一个状态标记好 还是直接 删除 group_member 表的 用户记录好