最近的 Doc Categories 更新后侧边栏激活问题

糟糕,那可不太好。

你还有 bundle exec rake doc_categories:build_sidebar 的输出吗?(如果内容是私密的,可以随时给我发私信)

到目前为止,我在 Meta + Horizon 上没有看到问题,但可能存在我遗漏的状态。如果你有数据浏览器,可以检查是否创建了索引、分区和链接吗?

查询
SELECT
  i.category_id,
  i.index_topic_id,
  sec.section_names,
  lnk.section_links
FROM doc_categories_indexes i
LEFT JOIN LATERAL (
  SELECT
    string_agg(COALESCE(s.title, ''), ', ' ORDER BY s.position) AS section_names
  FROM doc_categories_sidebar_sections s
  WHERE s.index_id = i.id
) AS sec ON TRUE
LEFT JOIN LATERAL (
  SELECT
    string_agg(l.href, ', ' ORDER BY s.position, l.position) AS section_links
  FROM doc_categories_sidebar_sections s
  LEFT JOIN doc_categories_sidebar_links l
    ON l.sidebar_section_id = s.id
  WHERE s.index_id = i.id
) AS lnk ON TRUE
ORDER BY i.category_id, i.index_topic_id;

其中一个因素是站点缓存。由于分类缓存 30 分钟,更新可能已经发生,并且常规侧边栏在 rake 任务运行之前被缓存了。

1. 迁移到表
2. 缓存未命中 -> 看到正常侧边栏而不是文档侧边栏
3. rake 任务构建侧边栏
4. 应该看到重建的侧边栏

理论上,(4) 应该发生并重置缓存。如果问题是这样,你应该现在就看到了。

3 个赞