Em https://community.wanikani.com/, recebi uma notificação de que alguém curtiu minha postagem, seguida por uma notificação de “resposta excelente”. Esse like foi de fato o 50º like daquela postagem. No entanto, consta que ganhei a insígnia “resposta excelente” há 5 dias. Já vi isso acontecer pelo menos uma vez antes.
Criei essa postagem há 5 dias, mas acredito que a “data de concessão” da insígnia deveria ser baseada em… bem, no momento em que foi concedida, motivo pelo qual coloquei isso em Contribute > Bug. Se for intencional, por favor, me avise.
A consulta do selo Great Reply está usando a coluna updated_at do post para definir quando o selo foi concedido. Curtir um post não redefine o valor de updated_at, então o campo granted_at será definido com a data de criação do post ou com a última vez em que o post foi editado.
Temos algumas outras consultas que são acionadas quando um usuário age sobre um post e definem o horário de concessão da mesma maneira. Para selos em que a consulta é executada uma vez por dia, como o selo Famous Link, current_timestamp é usado para definir granted_at. Poderia uma abordagem semelhante ser usada para consultas que são acionadas quando um usuário age sobre um post?