SQL查询中的Flair_url是否总是NULL?

我正在开发一个使用群组徽章图片的插件。

当我执行 SQL 查询从 groups 表中获取 flair_url 时,尽管已上传了图片,但每个群组都返回 NULL。Discourse 数据浏览器插件也证实了这一点(SELECT flair_url from groups

但是,/g.json 页面确实提供了有效的 flair_url

这是怎么回事?获取此 URL 是否有什么特别之处,导致 SQL 查询难以获取?我对 Ruby 和 Rails 还很陌生,所以我不知道在哪里可以查看 Discourse 源代码来弄清楚这一点。我确实注意到 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 个赞