大家好,
我的 SQL 查询遇到了问题。我的目标/期望是当用户回复特定主题时,立即授予一个自定义徽章。问题在于我只完成了一半,因为每日的“回填”作业成功了,但更即时的效果显然没有奏效。
我们的论坛利用此徽章(在自动化插件的帮助下)来提供对其他类别的访问权限,因此每日结束/回填的延迟对于新用户来说非常令人困惑,并且肯定会扼杀他们加入时的动力和热情。
我已经忽略这个问题一段时间了,现在准备放弃并寻求帮助。
我基本上是从精彩的帖子 创建触发式自定义徽章查询 中借鉴了这个查询,所以对大多数人来说它看起来应该很熟悉。
SELECT p.user_id, p.id post_id, p.created_at granted_at
FROM badge_posts p
WHERE p.topic_id = 11558
AND (:backfill OR p.id IN (:post_ids) )
或者我也尝试过
SELECT
DISTINCT ON (p.user_id)p.user_id, p.id post_id, p.created_at granted_at
FROM badge_posts p
WHERE p.topic_id = 11558
AND(:backfill OR p.id IN (:post_ids) )
两者都适用于每日结束回填,但缺乏我期望的即时性。
这是徽章当前设置的屏幕截图。
当我检查错误日志时,我看到了我最初实施查询时的一些回填失败日志,但我没有看到任何关于用户发帖时查询失败的日志。
我可能只是遗漏了显而易见的东西,但我已经看得眼花缭乱了,所以希望你们中的某位能可怜我并给我一些提示……或者至少为我指出一些有用的文档。
提前感谢!

