请教一个数据库表设计

2021-07-12 13:52:01 +08:00
 Macv1994

各位 dalao,类似社区的那种私信表要怎么设计呢? 一方删除但是另外一方还可以继续在历史记录中看到私信内容。

1980 次点击
所在节点    程序员
5 条回复
jianhua
2021-07-12 14:44:58 +08:00
mysql or ....:
all_message:
id: uuid()
text: xxx

redis:
zadd user_a_message_list:
order_number:N
id:all_message_id

zadd user_b_message_list:
order_number:N
id:all_message_id
tabris17
2021-07-12 14:55:33 +08:00
Message 表:

id, receiver_user_id, sender_user_id, content, created_at, ... ...


UserMessage 表:

id, user_id, direct, direction, message_id, ... ...

发一条消息生成三条记录
hpanqing
2021-07-12 16:09:14 +08:00
加个字段即可,表示发送方删除了此消息,实际上只是打个"发送方删除"标记,接收方仍然可以看见的。
Macv1994
2021-07-12 16:27:19 +08:00
kenisad5566
2021-07-13 09:33:24 +08:00
用软删除,表加一个 deleted 字段,删除的话把值置为 1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788997

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX