Deshabilitar la opción ‘Otorgar esta insignia más de una vez’ no funciona, al menos con las insignias activadas por SQL.
Tengo tres insignias con esta opción deshabilitada que se activan automáticamente muchas veces.
Tuve un problema muy grande debido a esto, así que estoy aquí informando que este no fue un caso aislado, sino probablemente un comportamiento erróneo.
Me uno a la conversación, ya que me he encontrado con el mismo problema. También he deshabilitado la configuración de «Otorgar esta insignia más de una vez» en varias insignias basadas en SQL, pero siguen siendo otorgadas repetidamente. Sería útil saber si alguien ha encontrado una solución alternativa o si esto está confirmado como un error. También puedo compartir el SQL de mi insignia, si es necesario.
SELECT
gs.user_id,
current_timestamp AS granted_at
FROM
gamification_scores gs
WHERE
(:backfill OR gs.user_id IN (:user_ids))
AND gs.date >= (current_date - interval '1 month')
AND NOT EXISTS (
SELECT 1
FROM user_badges ub
WHERE ub.user_id = gs.user_id
AND ub.badge_id = YOURIDOFBADGE
)
GROUP BY
gs.user_id
HAVING
SUM(gs.score) > 11
Aún me gustaría ver una captura de pantalla, gracias. La razón es que puedo verificar que es exactamente la misma pantalla (versión) y la configuración es la misma, incluso con diferentes idiomas en la interfaz (un componente o complemento erróneo también puede estar cambiando la página de configuración). Por ejemplo, no quiero simplemente asumir que “activador” significa “disparador” (aunque creo que en este caso sí lo hace).
Sin probar, una de las cosas que parece no pertenecer es la sección ‘AND NOT EXISTS’. ¿Estás intentando manejar la no concesión de múltiples dentro de la propia consulta?