안녕하세요, 테스트베드에서 Drupal 마이그레이션을 진행하던 중 Postgres 콘솔에서 regexp_replace 명령을 여러 개 실행했고, 이로 인해 모든 게시글의 rebake가 필요해졌습니다. 그래서 지난 12시간 이상 동안 rake posts:rebake가 거의 200만 개의 게시글을 처리하는 중입니다. 이미 rebake가 완료된 토픽 중 하나를 확인해 보니, 수동으로 게시글을 수정하지 않는 한 Oneboxes가 표시되지 않는 것을 발견했습니다(Rebuild HTML은 도움이 되지 않음). 제 이해가 맞다면, 이제 rake posts:refresh_oneboxes를 실행하는 데 또 20시간을 더 써야 하는 건가요? 해당 명령은 Rebaking post markdown for 'default'"라는 메시지도 출력하는데, 이 때문에 정규식 치환 후 Oneboxes를 새로고침하고 게시글 HTML도 다시 빌드하려면 처음부터 refresh_oneboxes만 실행하면 두 가지 일을 동시에 처리할 수 있지 않았을까 하는 생각이 듭니다.
대신 rails c에서 아래 코드를 실행할 수도 있을 것 같습니다:
Post.find_each do |p|
p.rebake!(invalidate_oneboxes: true)
p.save ###필요한가요?
end
이 방식이 rake 명령보다 더 빠를까요?
또한, 이 주제와 관련하여 Rails 콘솔에서 p.save를 언제 사용해야 하는지도 이해하고 싶습니다. 위의 과정에서는 p.save가 필요할까요?
감사합니다!