聊天数据表设计

# 用户表
ma_im_user {
  id,           // ID 
  re_id,        // 关联ID
  re_type,      // 关联类型
  avatar,       // 头像
  nick_name,    // 昵称
  sex,          // 性别
  program_id,   // 应用ID
  updated_at,   // 更新时间
  created_at,   // 创建时间
}

# 用户好友
ma_im_user_friend {
  id,           // ID
  user_id,      // 用户ID
  friend_id,    // 好友ID
  status,       // 状态 0=删除 1=正常
  program_id,   // 应用ID
  updated_at,   // 更新时间
  created_at,   // 创建时间
}

# 群组
ma_im_room {
  id,           // ID
  sn,           // 编号
  name,         // 名称
  logo,         // 图标
  desc,         // 描述
  number,       // 成员数(冗余字段)
  program_id,   // 应用ID
  updated_at,   // 更新时间
  created_at,   // 创建时间
}

# 用户群组
ma_im_user_room {
  id,           // ID
  user_id,      // 用户ID
  room_id,      // 群组ID
  status,       // 状态 0=删除 1=正常
  program_id,   // 应用ID
  updated_at,   // 更新时间
  created_at,   // 创建时间
}

# 聊天室
ma_im_chat {
  id,           // ID
  re_id,        // 关联ID
  re_type,      // 关联类型 群组(1个)、好友(2个)
  new_id,       // 最新消息ID
  program_id,   // 应用ID
  updated_at,   // 更新时间
  created_at,   // 创建时间
}

# 聊天室消息
ma_im_chat_msg {
  id,           // ID
  uuid,         // 唯一消息标识 (时间戳(毫秒)+ 聊天室ID + 机子编号 + 序号)
  chat_id,      // 聊天室ID
  type,         // 类型 0=消息 1=图片 2=图文 4=卡片
  content,      // 消息内容 JSON
  program_id,   // 应用ID
  updated_at,   // 更新时间
  created_at,   // 创建时间
}

# 用户聊天室
ma_im_user_chat {
  id,           // ID
  user_id,      // 用户ID
  chat_id,      // 聊天室ID
  read_id,      // 已阅读消息ID
  re_id,        // 关联ID
  re_type,      // 关联类型 用户、群组
  status,       // 状态 0=删除 1=正常
  program_id,   // 应用ID
  updated_at,   // 更新时间
  created_at,   // 创建时间
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 7

file 表示接受不了这个简写

2个月前 评论
h6play (楼主) 2个月前
xujinhuan 2个月前
ma6plus 1个月前
ZsmHub

消息内容存在单表?mysql 顶不住,tablestore可以考虑

2个月前 评论
h6play (楼主) 1个月前

ma_im_chat 这个不太懂

1个月前 评论
h6play (楼主) 1个月前

不需要分表吗?

1个月前 评论
h6play (楼主) 1个月前

redis

1个月前 评论
h6play (楼主) 1个月前
jcc123

1

请问,这个聊天室和下面的好友聊天室有什么不一样?

1个月前 评论
h6play (楼主) 1个月前

马克 还有后续吗?期待 :joy:

1个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!