我有这样的数据库架构:
conversation
- id
- created
user_has_conversation
- user_id
- conversation_id
message
- id
- user_id
- conversation_id
- text
如果一个用户决定删除对话或某些消息,我如何设计这些表格,但我希望它们对其他用户保持可见。
我应该创建一个名为
的新表message_deleted
- user_id
- message_id
并填写已删除邮件的ID?
答案 0 :(得分:1)
是的,你应该使用你建议的表格:
message_deleted - user_id - message_id
您的被删除"是user_id和message_id之间的多对多关系。
如果一个用户决定删除对话或某些消息,但是我 希望它们对其他用户保持可见。
同样,你会有一个对话表:
conversation_deleted
- user_id
- conversation_id
答案 1 :(得分:0)
您只需在消息表中添加一个标记'visible'(默认为true)。