我目前有一个活动表,它根据活动类型引用其他表。
id | type | user_id | source_id | misc_id | date
类型列告诉我用户执行了什么样的活动(关注、喜欢、成为朋友、状态等),源 id 包含与操作类型相关的表 id。
这对于用户活动流来说效果很好,但唯一的问题是,我不知道如何处理相关表中不再存在的行?
例如,用户创建状态然后将其删除,或者用户与后来从数据库中删除的某人成为朋友。
如果活动是相对于单一类型的,那么我将能够添加一个外键约束,这将删除该行;但由于它是相对于不同的表,我还能怎么做呢?