通知系统的数据库设计

时间:2017-03-12 11:26:53

标签: mysql database database-design notifications

我在这里读了几个关于这个论点的问题,但我找不到解决方案。

系统必须向用户发送一个或多个通知,所以我的第一个想法是

Notification
---------------------
id
sender_id
message


Notification_user
--------------------
id
notification_id
recipient_id
is_read
created_on
read_on


User
---------------------
id
first_name
last_name

Notification我可以保存消息,例如“Walter White在'经济'部分添加了一篇新文章”并将其发送给Notification_user中保存的用户。

但通过这种方式,有两个主要问题:

  1. 如果用户想要使用其他语言接收通知,我应该使用其他语言保存相同的消息。

  2. 如果消息“Walter White在'经济'部分添加了一篇新文章”保存在Notification中,然后管理员将部分名称从“经济”更改为“经济 - 欧洲” ,收件人将阅读带有旧版块名称的邮件,而不是“Walter White在'经济 - 欧洲'部分添加了一篇新文章”

  3. 所以我想以这种方式修改Notification

    Notification
    ----------------------
    id
    sender_id
    extra_info
    

    在extra_info中我连接一个包含所有信息的字符串,例如:“sectionId:100,otherColumnId:125”

    因此,代码方面我可以获取正确的信息,构建消息并像通知一样发送...但这种方法应该很昂贵。有更好的解决方案吗?

0 个答案:

没有答案