Привет! При миграции тестового окружения с Drupal я выполнил множество команд regexp_replace из консоли Postgres, что потребовало пересборки всех постов. Поэтому уже более 12 часов выполняется rake posts:rebake, обрабатывая почти 2 миллиона постов. Я проверил одну из тем, которая уже была пересобрана, и заметил, что Oneboxes не отображаются, если не отредактировать пост вручную (команда Rebuild HTML не помогает). Если я правильно понимаю, мне, похоже, придётся потратить ещё 20 часов на выполнение rake posts:refresh_oneboxes? Эта команда также выводит: Rebaking post markdown for 'default', что заставляет меня думать, что я мог бы убить двух зайцев одним выстрелом, изначально запустив только refresh_oneboxes для обновления Oneboxes и одновременно пересобрав HTML постов после замены через регулярные выражения?
Кажется, я мог бы alternatively выполнить это в rails c:
Post.find_each do |p|
p.rebake!(invalidate_oneboxes: true)
p.save ###Needed?
end
Было бы это быстрее, чем команда rake?
Также, пока мы на этой теме, я хотел бы понять, когда ещё нужно использовать p.save в консоли Rails; понадобится ли оно для описанного выше процесса?
Огромное спасибо!