SQLクエリでFlair_urlが常にNULLになるのはなぜですか?

グループのフレア画像を使用するプラグインを開発しています。

groups テーブルから flair_url を取得するために SQL クエリを実行すると、画像がアップロードされているにもかかわらず、すべてのグループで NULL が返されます。Discourse のデータエクスプローラープラグインでも同様の結果が確認できます (SELECT flair_url from groups)。

しかし、/g.json ページでは有効な flair_url が提供されています。

これはどういうことでしょうか?この URL を取得する際に、SQL クエリから取得するのが難しい特別な癖があるのでしょうか?私は Ruby と Rails にまだ慣れていないので、Discourse のソースコードのどこを見ればこれを理解できるのか exact にわかりません。[app/models/group.rb](https://github.com/discourse/discourse/blob/9db8f00b3dd6f2881adf1b786e29426889225e7a/app/models/group.rb) の 9 行目で flair_url が “ignored_columns” に追加されていることに気づきました。これがどのような影響を与えるのか、もしあればわかりません。

このカラムが NULL として表示されるのは意図的なものなのか疑問に思っており、もしそうであれば、プラグインの Ruby バックエンドからそのデータを取得するためのヒントがあれば幸いです。

「いいね!」 2

その列のデータは、以前に移動された可能性があると思います。flair_upload_id が有望そうです。

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

ありがとうございます!少し遠回りなようですが、うまくいきました!:grin:

「いいね!」 3

はい、flair_url 列はもう使用されていません。Ruby コードで Rails に無視するように指示しています。

しばらく前からその状態のようです。@vinothkannans、デプロイ後のマイグレーションで削除しても問題ない理由があれば教えてください。

「いいね!」 4

はい、今すぐ削除すべきです。とっくにその時期は過ぎています。

「いいね!」 2