您好,我在从 Drupal 进行测试环境迁移时,在 Postgres 控制台中运行了一系列 regexp_replace 命令,这需要重新烘焙所有帖子。因此,在过去的 12 小时里,我一直在运行 rake posts:rebake,它还在处理近 200 万个帖子。我查看了一个已经重新烘焙过的主题,注意到 Oneboxes 不会显示,除非我手动编辑帖子(Rebuild HTML 没有帮助)。所以,如果我理解正确的话,我似乎需要再花 20 个小时来运行 rake posts:refresh_oneboxes?该命令还回显:“正在为‘default’重新烘焙帖子 markdown”,这让我认为我最初只运行 refresh_oneboxes 就可以一石二鸟,既刷新了 Oneboxes,又在 regexp 替换后重建了帖子 HTML?
看起来我也可以在 rails c 中运行这个:
Post.find_each do |p|
p.rebake!(invalidate_oneboxes: true)
p.save ###Needed?
end
这会比 rake 命令快吗?
另外,在谈到这个话题时,我想了解一下我何时也需要在 Rails 控制台中同时使用 p.save,在上述过程中是否需要它?
非常感谢!