Flair_url est toujours NULL dans la requête SQL ?

Je travaille sur un plugin qui utilise l’image de flair de groupe.

Lorsque j’effectue une requête SQL pour récupérer le flair_url de la table groups, elle renvoie NULL pour chaque groupe malgré le téléchargement d’une image. Le plugin Discourse Data Explorer confirme également cela (SELECT flair_url from groups)

Cependant, la page /g.json fournit un flair_url valide :

Qu’est-ce qui se passe ? Y a-t-il une particularité dans la récupération de cette URL qui la rend difficile à obtenir à partir d’une requête SQL ? Je suis encore assez nouveau dans Ruby et Rails, donc je ne sais pas exactement où chercher dans le code source de Discourse pour le découvrir. J’ai remarqué à la ligne 9 de app/models/group.rb que le flair_url est ajouté à “ignored_columns”, - je ne suis pas sûr des implications de cela, le cas échéant.

Je me demande juste si cette colonne apparaissant comme NULL est intentionnelle et, si c’est le cas, j’apprécierais tout conseil pour obtenir ces données à partir du back-end Ruby de mon plugin.

2 « J'aime »

Je pense que les données de cette colonne ont peut-être été déplacées à un moment donné. flair_upload_id semble prometteur :

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 « J'aime »

Merci ! Cela semble un peu détourné mais ça a fonctionné ! :grin:

3 « J'aime »

Oui, la colonne flair_url n’est plus utilisée - nous disons à Rails de l’ignorer dans notre code ruby :

Il semble que ce soit le cas depuis un certain temps maintenant. @vinothkannans y a-t-il une raison pour laquelle nous ne devrions pas procéder à sa suppression dans une migration post-déploiement ?

4 « J'aime »

Oui, nous devrions le supprimer maintenant. Nous avons dépassé ce moment il y a longtemps.

2 « J'aime »