应用程序运行于ruby 2.0
:rails 4
和postgresql
1.多表故事——现在如何运作:
Aproject
有很多users
, as members
。
也project
有很多posts
,当post
创建一个时notification
为每个创建一个project user
。
假设项目 A有100 个用户,我们将在数据库中有100 个通知,这将加载具有大量重复项的数据库。
但是用户可以删除自己的通知,可以查看它,我们可以用用户特定的数据更新他的通知。我们将使用rake 任务来删除早于特定时间间隔的通知。
2.多个数据库查询 - 我们想要做的:
有一个想法是只为一个活动创建一个通知,并与一个名为的表使用多对多关系, ETC..notifications_users
我认为这将是多个数据库查询的缺点,因为当我们需要查找有关通知和用户的信息时,我们必须查找notification_users
表以获取所需的信息。
此外,通过这种方式建立关系,将更难从旧通知中清理数据库,因为我们不知道该通知是否被某些用户读取。
谢谢你。