Disabilitare l’opzione ‘Concedi questo badge più di una volta’ non funziona, almeno con i badge attivati da SQL.
Ho tre badge con questa opzione disabilitata che vengono attivati automaticamente molte volte.
Ho avuto un problema molto grave a causa di ciò, quindi sono qui per segnalare che non si è trattato di un caso isolato, ma probabilmente di un comportamento difettoso.
Mi intrometto qui perché ho riscontrato lo stesso problema. Ho anche disabilitato l’impostazione “Assegna questo badge più di una volta” su diversi badge basati su SQL, ma continuano a essere assegnati ripetutamente. Sarebbe utile sapere se qualcuno ha trovato una soluzione alternativa o se questo è confermato come un bug. Posso anche condividere il mio SQL del badge, se necessario.
si prega di pubblicare l’SQL e le impostazioni del badge in modo che io possa confermare che la configurazione sia corretta e tentare di replicare il problema.
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
Vorrei comunque vedere uno screenshot, grazie. Il motivo è che posso verificare che si tratti esattamente della stessa schermata (versione) e che le impostazioni siano le stesse anche con lingue diverse nell’interfaccia (anche un componente o plugin anomalo potrebbe modificare la pagina delle impostazioni). Ad esempio, non voglio semplicemente presumere che “attivatore” significhi “trigger” (anche se in questo caso penso lo significhi).
Senza testare, una delle cose che sembra non appartenere è la sezione ‘AND NOT EXISTS’. Stai cercando di gestire il non assegnare duplicati all’interno della query stessa?