我正在计划一个通知表。用户可以关注其他用户,例如对帖子的评论/喜欢/回复评论。但是,我一直在尝试找出一种具有指向父行的通用指针的方法。通知表可能如下所示:
id | sender_id | receiver_id | type | post_id | comment_id
post_id
和comment_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
这似乎很难维持删除。还是有更简单的方法来完成这项工作?