Distintivo baseado em quando o usuário foi promovido a moderador pela primeira vez?

Acabei de marcar isto como sql-triggered-badge, mas pensei em verificar se você está procurando um automático ou não? Presumo que você pode não ter uma grande quantidade de mods e poderia talvez conceder este distintivo manualmente com base em uma consulta do explorador de dados?


Acho que uma versão simplificada da acima poderia ser:

-- [params]
-- int :years

WITH time_in_mod_group AS (

SELECT
    user_id,
    (CURRENT_DATE - created_at::date) AS days_as_mod
FROM group_users
WHERE group_id = 2 -- group id of the 'moderator' group
  AND user_id > 0 -- exclude system users and bots

)

SELECT
    user_id,
    days_as_mod
FROM time_in_mod_group
WHERE days_as_mod > (365 * :years)

Este funcionaria como uma consulta do explorador de dados em vez de um conjunto de distintivos SQL, e pode selecionar uma lista de usuários que se encaixam nos critérios para que você possa conceder manualmente o distintivo a eles.

Há uma ressalva de que se eles saírem do grupo de mod a qualquer momento e voltarem a entrar, isso só contaria a inclusão mais recente. Acho que seria possível usar a tabela user_histories para contornar isso, mas se for uma exceção, é provável que seja mais fácil contabilizá-la manualmente também.