SQL多外键

时间:2018-07-25 06:52:39

标签: sql postgresql

我正在计划一个通知表。用户可以关注其他用户,例如对帖子的评论/喜欢/回复评论。但是,我一直在尝试找出一种具有指向父行的通用指针的方法。通知表可能如下所示:

id  |  sender_id  |  receiver_id  |  type  |  post_id  | comment_id

post_idcomment_id分别是发送者已与之交互的行。它们上面带有on cascade delete,因此删除它们时,通知也将被删除。由于通知发件人已决定删除评论/回复或与帖子/评论不同,因此我必须存档通知时会出现问题。我可以为此添加列:

id  |  sender_id  |  receiver_id  |  type  |  post_id  | comment_id  |  src_comment_id  |  src_reply_id

但是看起来这很难扩展。随着系统的发展,我可能会收到来自各种来源的通知。

我使用另一种方法在堆栈上找到了某人:

id  |  sender_id  |  receiver_id  |  type  |  table_id  | table_name

这似乎很难维持删除。还是有更简单的方法来完成这项工作?

0 个答案:

没有答案