Flair_url è sempre NULL nella query SQL?

Sto lavorando su un plugin che utilizza l’immagine flair del gruppo.

Quando eseguo una query SQL per recuperare flair_url dalla tabella groups, restituisce NULL per ogni gruppo nonostante abbia un’immagine caricata. Anche il plugin Discourse data explorer lo conferma (SELECT flair_url from groups)

Tuttavia, la pagina /g.json fornisce un flair_url valido:

Cosa succede? C’è qualche particolarità nel recuperare questo URL che lo rende difficile da ottenere da una query SQL? Sono ancora abbastanza nuovo a Ruby e Rails, quindi non so esattamente dove cercare nel codice sorgente di Discourse per scoprirlo. Ho notato alla riga 9 di app/models/group.rb che flair_url viene aggiunto a “ignored_columns”, - non sono sicuro delle implicazioni di ciò, se ce ne sono.

Mi chiedo solo se questa colonna che appare NULL sia intenzionale e, in tal caso, apprezzerei qualsiasi suggerimento per ottenere quei dati dal backend Ruby del mio plugin.

2 Mi Piace

Penso che i dati di quella colonna possano essere stati spostati a un certo punto. flair_upload_id sembra promettente:

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 Mi Piace

Grazie! Sembra un po’ tortuoso ma ha funzionato! :grin:

3 Mi Piace

Sì, la colonna flair_url non viene più utilizzata: diciamo a Rails di ignorarla nel nostro codice Ruby:

Sembra che sia così da un po’ di tempo. @vinothkannans c’è un motivo per cui non dovremmo procedere ed eliminarla in una migrazione post-deploy?

4 Mi Piace

Sì, dovremmo eliminarlo ora. Abbiamo superato quel momento molto tempo fa.

2 Mi Piace