Ich klinke mich hier mal ein, da ich auf dasselbe Problem gestoßen bin. Ich habe auch die Einstellung „Dieses Abzeichen mehr als einmal vergeben“ bei mehreren SQL-basierten Abzeichen deaktiviert, aber sie werden immer wieder vergeben. Es wäre hilfreich zu wissen, ob jemand eine Problemumgehung gefunden hat oder ob dies als Fehler bestätigt wurde. Ich kann bei Bedarf auch mein Abzeichen-SQL teilen.
Bitte posten Sie das SQL und Ihre Badge-Einstellungen, damit ich bestätigen kann, dass die Konfiguration korrekt ist und versuchen kann, das Problem zu reproduzieren.
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
Ich hätte trotzdem gerne einen Screenshot, danke. Der Grund ist, dass ich überprüfen kann, ob es sich um dieselbe Ansicht (Version) handelt und die Einstellungen gleich sind, auch wenn die Benutzeroberfläche in verschiedenen Sprachen angezeigt wird (eine fehlerhafte Komponente oder ein Plugin kann auch die Einstellungsseite ändern). Ich möchte zum Beispiel nicht einfach davon ausgehen, dass „Activator“ „Trigger“ bedeutet (obwohl ich denke, dass es in diesem Fall so ist).
Ohne Tests sieht der Abschnitt „AND NOT EXISTS“ wie etwas aus, das nicht dazugehört. Versuchen Sie, die Vergabe von Mehrfachauszeichnungen innerhalb der Abfrage selbst zu handhaben?