Flair_url é sempre NULL na consulta SQL?

Estou trabalhando em um plugin que usa a imagem de flair do Grupo.

Quando executo uma consulta SQL para obter o flair_url da tabela groups, ele retorna NULL para todos os grupos, apesar de ter uma imagem carregada. O plugin Discourse Data Explorer também confirma isso (SELECT flair_url from groups)

No entanto, a página /g.json fornece um flair_url válido:

O que está acontecendo? existe alguma peculiaridade em obter este URL que o torna difícil de obter em uma consulta SQL? Ainda sou bem novo em Ruby e Rails, então não sei exatamente onde procurar no código-fonte do Discourse para descobrir isso. Notei na linha 9 de app/models/group.rb que o flair_url é adicionado a “ignored_columns”, - não tenho certeza das implicações disso, se houver.

Apenas gostaria de saber se esta coluna aparecendo como NULL é intencional e, em caso afirmativo, agradeceria qualquer dica para obter esses dados do back-end Ruby do meu plugin.

2 curtidas

Acho que os dados dessa coluna podem ter sido movidos em algum momento. flair_upload_id parece promissor:

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 curtidas

Obrigado! Isso parece um pouco indireto, mas funcionou! :grin:

3 curtidas

Sim, a coluna flair_url não é mais usada - dizemos ao Rails para ignorá-la em nosso código ruby:

Parece que tem sido assim por um tempo. @vinothkannans algum motivo para não prosseguirmos e removê-la em uma migração pós-deploy?

4 curtidas

Sim, devemos removê-lo agora. Já ultrapassamos esse tempo há muito tempo.

2 curtidas