0

感谢您花时间查看我的问题。

好的,所以我正在开发这个 iPhone 应用程序。我负责服务器端代码。客户端要求从应用程序中删除私人消息的解决方案。我为他们创建了一个 HTTP DELETE 来删除特定的消息。但是这个请求会从数据库中删除消息,这会使消息对两个用户都消失,而不仅仅是选择删除它的用户。

我一直在想,但我似乎无法找到最好的解决方案。我需要的是只删除当前用户的消息的解决方案。

我是否应该在数据库中添加一些列来告诉应该为哪个用户显示私人消息?当用户从应用程序中删除消息时,它只会停止在该用户的手机上显示。或者有更好的解决方案吗?

我需要一些头脑风暴的帮助。我希望这是一个好的问题。

谢谢!

4

1 回答 1

1

应该避免物理删除。我能想到的前几个原因:

  • 如果您要查找的信息消失了,您如何进行适当的测试/审核?
  • 法律问题:您是否需要一定程度的数据保留?

您可以实现某种形式的逻辑删除,例如使用额外的关系,例如 UserMessage(UserID, MessageID, MessageStatus),其中 MessageStatus 可以是“未读”、“已读”、“已删除”、“重要”、“垃圾邮件”,等(如果您愿意,可以将状态映射到任意整数)。当用户删除一条消息时,您只需在 UserMessage 关系中更改其状态,然后从 UI 端隐藏标记为“已删除”的消息。

于 2013-07-02T15:36:41.760 回答