SELECT p.user_id, current_timestamp AS granted_at
FROM posts AS p
JOIN topics t on t.id = p.topic_id
WHERE t.archetype = 'private_message'
AND t.title LIKE 'Your post in "%"'
AND p.post_number = 1
AND p.like_count >= 1
AND (:backfill OR p.user_id IN (:user_ids))
GROUP BY p.user_id
HAVING count(*) >= 1
我没有找到专门用于标记私信的触发器,因此查询使用了默认标题“Your post in …”。我认为该徽章很容易通过多种方式被滥用或作弊,但它仍然能够实现其目标,即通过提高该功能的可见性,并向社区传达这是一种积极行为。
SELECT pa.user_id, current_timestamp AS granted_at
FROM post_actions pa
JOIN posts p ON p.id = pa.related_post_id
WHERE pa.post_action_type_id = 6
AND p.like_count >= 1
AND (:backfill OR p.user_id IN (:user_ids))
GROUP BY pa.user_id
HAVING COUNT(*) >= 1