V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Macv1994
V2EX  ›  程序员

请教一个数据库表设计

  •  
  •   Macv1994 ·
    weijiang1994 · 2021-07-12 13:52:01 +08:00 · 2244 次点击
    这是一个创建于 1220 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    5 条回复    2021-07-13 09:33:24 +08:00
    jianhua
        1
    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
        2
    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
        3
    hpanqing  
       2021-07-12 16:09:14 +08:00 via iPhone
    加个字段即可,表示发送方删除了此消息,实际上只是打个"发送方删除"标记,接收方仍然可以看见的。
    Macv1994
        4
    Macv1994  
    OP
       2021-07-12 16:27:19 +08:00
    kenisad5566
        5
    kenisad5566  
       2021-07-13 09:33:24 +08:00
    用软删除,表加一个 deleted 字段,删除的话把值置为 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4056 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:15 · PVG 18:15 · LAX 02:15 · JFK 05:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.