Auf https://community.wanikani.com/ erhielt ich eine Benachrichtigung, dass jemand meinen Beitrag likede, gefolgt von einer Benachrichtigung für eine „großartige Antwort“. Dieser Like war tatsächlich der 50. Like für diesen Beitrag. Allerdings steht dort, dass ich die Abzeichen „Großartige Antwort“ vor 5 Tagen erhalten habe. Ich habe dies bereits mindestens einmal zuvor beobachtet.
Ich habe diesen Beitrag vor 5 Tagen erstellt, aber ich würde erwarten, dass das Datum der „Verleihung“ des Abzeichens darauf basiert, wann es tatsächlich verliehen wurde – daher habe ich dies unter Contribute > Bug eingeordnet. Falls dies beabsichtigt ist, lassen Sie es mich bitte wissen.
Die Abfrage für das Badge „Great Reply“ verwendet die Spalte updated_at des Beitrags, um festzulegen, wann das Badge verliehen wurde. Das Liken eines Beitrags setzt den Wert von updated_at nicht zurück, sodass granted_at auf das Erstellungsdatum des Beitrags oder auf den Zeitpunkt der letzten Bearbeitung gesetzt wird.
Wir haben mehrere weitere Abfragen, die ausgelöst werden, wenn ein Benutzer auf einen Beitrag reagiert, und die den Zeitpunkt der Verleihung auf dieselbe Weise festlegen. Bei Badges, bei denen die Abfrage einmal täglich ausgeführt wird, wie beispielsweise beim Badge „Famous Link“, wird current_timestamp verwendet, um granted_at zu setzen. Könnte ein ähnlicher Ansatz auch für Abfragen verwendet werden, die ausgelöst werden, wenn ein Benutzer auf einen Beitrag reagiert?