聊天数据表设计

# 用户表
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 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 16

file 表示接受不了这个简写

3年前 评论
h6play (楼主) 3年前
xujinhuan 3年前
ma6plus 3年前
cidos 1年前
ZsmHub

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

3年前 评论
h6play (楼主) 3年前

ma_im_chat 这个不太懂

3年前 评论
h6play (楼主) 3年前

不需要分表吗?

3年前 评论
h6play (楼主) 3年前

redis

3年前 评论
h6play (楼主) 3年前
jcc123

1

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

3年前 评论
h6play (楼主) 3年前

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

3年前 评论

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