リアクションを使用してバッジを付与する

試しているものがありますが、新鮮な目で見るために脇に置いておいたので、まだ手をつけていません。そのため、いくつかの作業が必要になるかもしれません。これは、Data & reporting カテゴリの投稿に対して ‘data-team’ グループのメンバーから :chefs_kiss: リアクションを少なくとも 10 件獲得したことに基づいてバッジを付与するものです。

SELECT p.user_id, MIN(p.created_at) granted_at
FROM badge_posts p
  JOIN topic_tags tt ON tt.topic_id = p.topic_id
WHERE tt.tag_id = 615
  AND EXISTS (
         SELECT 1
            FROM discourse_reactions_reactions dr 
             JOIN discourse_reactions_reaction_users dru ON dr.id = dru.reaction_id
             JOIN group_users gu ON gu.user_id = dru.user_id
            WHERE dr.post_id = p.id
              AND dr.reaction_value = 'chefs_kiss'
              AND gu.group_id = 175
       )
 GROUP BY p.user_id
HAVING COUNT(*) >= 10

ただし、MIN を使用すると付与された日付が間違っていたため、満足していませんでした。

基準が多く、自動化されているため、より複雑な方に分類されると思います。あまり労力をかけずに、よりシンプルなものの方がはるかに達成可能だと思います。