Keine Abzeichen für nicht existierende Benutzer vergeben?

Als ich mir eine unserer Abzeichen-Seiten ansah, fiel mir folgendes auf:

Das hat mich neugierig gemacht – was ist mit all diesen Avataren passiert?

Wie sich herausstellte, existieren diese Benutzer nicht mehr.

Wir sollten wahrscheinlich keine Abzeichen an Benutzer vergeben, die nicht mehr existieren? Oder sie vielleicht gar nicht mehr anzeigen lassen? Auf jeden Fall verdrängen sie die Avatare der echten Benutzer – diejenigen, die uns wirklich interessieren!

10 „Gefällt mir“

Hmmm… hier stimmt etwas nicht, denn:

Das Grant-Objekt verknüpft bereits mit dem Benutzer, es muss die Benutzer-ID also von irgendwoher beziehen.

Ich frage mich, ob die Scoping-Methode hier bedeutet, dass „dependent destroy

1 „Gefällt mir“

[quote=“sam, Beitrag: 4, Thema: 185700”]
Ich frage mich, ob die Art und Weise, wie dies eingegrenzt ist, bedeutet, dass „dependent destroy

2 „Gefällt mir“

Das ist seltsam, denn die Zeilen enthalten Benutzer-IDs. Wenn ein Benutzer gelöscht wird, gibt es keine Quelle mehr, aus der diese IDs bezogen werden können.

3 „Gefällt mir“

Ich denke, die Benutzer-IDs befinden sich in der Tabelle incoming_links. Diese Datensätze werden nicht abhängig gelöscht, und die Abfrage für das Sharing-Badge schützt nur davor, dass user_id in der Tabelle incoming_links NULL ist:

https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L199

Das Badge „Erster Share“ sollte einen ähnlichen Fehler aufweisen:

https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L64

3 „Gefällt mir“

Ich habe einen Pull Request erstellt, der diese Badge-Abfragen mit der users-Tabelle verknüpft – mein erster Pull Request, also hoffe ich, dass ich alles richtig gemacht habe!

3 „Gefällt mir“