用户私人消息的基本数据库结构是什么样的?

时间:2012-02-06 11:18:53

标签: mysql sql database oracle database-design

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

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

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

我已经有了类似的东西......“墙贴”,其中有几个用户可以像时尚一样评论1个墙贴。尽管如此,如果删除了原始的墙贴,那么所有的评论也是如此。

使用我的消息系统,我只想简单使用Inbox。用户将看到他们已发送和接收的邮件已按sent_at日期排序。我希望用户能够删除他们的消息而不删除其他消息。

我在想什么

- 我正在考虑实现这一目标的方法是拥有2份邮件。

-1表示用户A(发件人),1表示用户B(收件人),这样他们可以独立管理邮件,而不会影响其他用户。

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

  1. 消息

  2. Message_copies

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

  4. 这是我的头开始受伤的地方。我觉得即使我这样做,我也不知道自己想做什么。当我感觉自己是的时候,我想我已经拥有了这个,我遇到了一堵砖墙。

    解决方案

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

    我似乎无法理解这一点并试图避免将相同的消息存储两次..一次发送者和一次接收者。这种方式似乎不对。

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

    亲切的问候

1 个答案:

答案 0 :(得分:2)

消息收件人的一个表和消息收件人的一个表怎么样?在recip表中,您可以有一个“如何处理此消息”的列以及“保留,回复,删除(不显示),删除(显示)”等选项。然后您可以加入此以获取某个收件人是否关心此邮件的内容。

制作邮件的多个副本似乎有些过分。