Ist flair_url immer NULL in SQL-Abfrage?

Ich arbeite an einem Plugin, das das Gruppen-Flair-Bild verwendet.

Wenn ich eine SQL-Abfrage durchführe, um den flair_url aus der groups-Tabelle abzurufen, gibt diese für jede Gruppe NULL zurück, obwohl ein Bild hochgeladen ist. Das Discourse Data Explorer Plugin bestätigt dies ebenfalls (SELECT flair_url from groups).

Die Seite /g.json liefert jedoch eine gültige flair_url:

Was ist hier los? Gibt es eine Besonderheit beim Abrufen dieser URL, die es schwierig macht, sie über eine SQL-Abfrage zu erhalten? Ich bin noch ziemlich neu in Ruby und Rails und weiß nicht genau, wo ich in der Discourse-Quelle nachsehen müsste, um das herauszufinden. Ich habe in Zeile 9 von app/models/group.rb bemerkt, dass die flair_url zu “ignored_columns” hinzugefügt wird – ich bin mir nicht sicher, welche Auswirkungen das hat, falls überhaupt.

Ich frage mich nur, ob diese Spalte absichtlich NULL erscheint und wenn ja, würde ich mich über Tipps freuen, wie ich diese Daten aus dem Ruby-Backend meines Plugins erhalten kann.

2 „Gefällt mir“

Ich glaube, die Daten aus dieser Spalte wurden möglicherweise irgendwann verschoben. flair_upload_id scheint vielversprechend:

SELECT g.name,
       g.flair_upload_id,
       u.url,
       u.original_filename
FROM groups g
JOIN uploads u on g.flair_upload_id = u.id
5 „Gefällt mir“

Danke! Das scheint ein wenig umständlich, aber es hat funktioniert! :grin:

3 „Gefällt mir“

Ja, die Spalte flair_url wird nicht mehr verwendet – wir weisen Rails an, sie in unserem Ruby-Code zu ignorieren:

Es sieht so aus, als wäre das schon eine Weile der Fall. @vinothkannans Gibt es einen Grund, warum wir sie nicht in einer Post-Deploy-Migration entfernen sollten?

4 „Gefällt mir“

Ja, wir sollten es jetzt fallen lassen. Wir sind schon lange über diese Zeit hinaus.

2 „Gefällt mir“