【问题标题】:What would a basic database structure for user private messaging look like?用户私人消息传递的基本数据库结构是什么样的?
【发布时间】:2012-02-27 21:08:39
【问题描述】:

我正在使用 Rails 3.2(不是 ruby​​ on rails 问题)并且接近我一直从事的项目的结尾。现在我正在构建一个用户私人消息功能。

我一直在关注http://www.novawave.net/public/rails_messaging_tutorial.html#start,但有些事情没有任何意义,有些事情不起作用..很可能是因为那个版本的 ROR 已经过时了。

我现在打算自己做这件事,但需要一些帮助才能开始。我在试图找出实现这一点的最佳方法时遇到麻烦。

我已经有类似的东西了..“墙贴”,几个用户可以像时尚一样在线程中评论 1 个墙贴。有了这个,如果原来的墙贴被删除了,那么所有的 cmets 也都被删除了。

对于我的消息传递系统,我希望它只需收件箱即可。用户将看到他们发送和接收的消息,按 sent_at 日期排序。我希望用户能够在不删除其他消息的情况下删除他们的消息。

我在想什么

-我正在考虑实现此目的的方法是拥有 2 个消息副本。

-1 代表用户 A(发送者)和 1 代表用户 B(接收者),这样他们可以独立管理消息而不会影响其他用户。

到目前为止,我已经考虑过拥有 3 个表:

  1. 消息

  2. Message_copies

  3. 文件夹(这将为每个在注册时自动创建的用户存储一行,然后当他们收到消息时,他们将是.....acts_as_tree... ?? .... erm。 ..蓝色星星??.....背痛..(我的思绪开始徘徊)..

这就是我头疼的地方。我觉得我不知道我想做什么,即使我这样做了。当我觉得是的时候,我想我现在已经得到了这个,我遇到了一堵砖墙。

解决方案

我希望如果有人实现了这样的功能,能够为我提供数据库中的表的信息,我需要实现我想要实现的目标。我 100% 知道我能做到,但只需要一个开始。这是我开始这个项目以来最大的障碍。

我似乎无法理解这一点,并试图避免将相同的消息存储两次.. 一次用于发件人,一次用于收件人。这种方式似乎不对。

我觉得最好有一个存储所有消息的表,然后可能为每个用户在注册时自动创建一个文件夹表,并从他的文件夹表中存储在消息表中的消息由发件人和收件人使用用户实际上从他们的文件夹中删除了一条消息,它仍将保留在消息表中,直到其他用户发件人/收件人也从他们的文件夹中删除该消息。

亲切的问候

【问题讨论】:

    标签: mysql sql database oracle database-design


    【解决方案1】:

    一张表用于消息,一张表用于消息收件人?在recip 表中,您可以有一列用于“如何处理此消息”和“保留、回复、删除(不显示)、删除(显示)”等选项。然后您可以加入此以获得给定的收件人是否关心此消息会发生什么。

    为一条消息制作多个副本似乎有点过头了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2012-11-21
      相关资源
      最近更新 更多