创建通知数据库表的最佳实践

时间:2012-05-16 22:57:16

标签: mysql sql ruby-on-rails database foreign-keys

我对如何最好地做到这一点感到难过,并且希望社区能够对它有所了解(也许你有经验,或者有创新的解决方法!)。

我有一个应用程序,其中包含用户,事件和组。我正在尝试制作一个通知表,用于存储已被邀请加入事件,群组或与朋友联系的用户的通知。不,我不是在建Facebook ...

通知应该有一条消息,上面写着:“您已被邀请加入Syracuse Runners Club”并点击它以跳转到Runners Club组对象。

所以,到目前为止,我最好的猜测是如下表所示:

通知

id | status (unread/read) | message | reference_object_id |

- 引用object_id指向外部对象的id。但是,问题是我不知道外部object_id属于哪个表。

我的最终目标是以JSON形式提供这些内容,以便我可以拥有以下内容:

{ 
  message:"You're invited blah blah", 
  status:"unread", 
  reference_object: {
    id:1,
    name:"Runners Club"
  }
}

我正在使用MySQL和Ruby on Rails。

2 个答案:

答案 0 :(得分:3)

如果您使用MySQL,请添加另一列以指定外部对象表。

id | status (unread/read) | message | reference_object_id | reference_object_table

现在您可以在任何表格中引用另一个对象。

答案 1 :(得分:1)

您可以为每种可以通知的事物添加一列。或者您可以存储引用对象的“类型”