SQL Querying in Badges


(Ivan) #1

Hi guys,

So I’m extremely new to Discourse and I think I’ve just successfully written my first badge that assigns a badge to a user if they have received 5-9 likes. It is as follows:

SELECT user_id, users.username username, likes_received, current_timestamp granted_at
FROM user_stats JOIN users ON (user_stats.user_id = users.id)
WHERE likes_received BETWEEN 5 AND 9
AND (:backfill OR users.id IN (:user_ids) )

When I click ‘preview granted badges’, it shows the 8 users that have fulfilled this requirement. Does this mean that when the update occurs, this badge will be assigned automatically?


(Sam Saffron) #2

Yes, as soon as the daily grant runs they will get badges