我无法找到定义订阅系统的好方法。我希望用户能够订阅其他用户,帖子和标签。我最初的想法是拥有一个包含以下架构的订阅表
id int NOT NULL AUTO_INCREMENT
user_id int NOT NULL
subscription_id int NOT NULL
subscription_type int NOT NULL
subscribe_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
unsubscribe_date timestamp NULL DEFAULT NULL
notification_frequency int NOT NULL DEFAULT 1440 //number of minutes in day
0
的subscription_type为users
,1
的{{1}}和posts
的{{1}}以及2
将是该元素行的id,有时是user_id,有时是post_id,有时是tag_id。
必须有更好的方法,而我能想到的其他唯一方法似乎更糟糕。就像制作多个订阅表一样,每个tags
一个。或者在我的系统中的所有用户/帖子/标签中实施subscription_id
个字段。
必须有一种方法可以表明有多种订阅类型,而不需要为每种订阅类型提供任意整数值的额外列。
答案 0 :(得分:0)
不。
SELECTs
UNION
,有或没有uuids,或
CASE
个元素,每个元素都有一个子查询和...