仅为当前用户滑动删除邮件

时间:2013-07-02 10:03:40

标签: database database-design server-side

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

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

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