現在、フォーラムに何百、何千もの空の投稿、またはYouTube動画が欠落している投稿があるようです。その理由は、ベイクされた投稿コンテンツが次のようになっているためです。
<div class="cooked">
<div class="lazyYT" data-youtube-id="WJxSNbAer9M" data-youtube-title="Starset - Die For You (Official Audio)" data-width="480" data-height="270" data-parameters="feature=oembed&wmode=opaque">
</div>
</div>
HTMLを再構築すると、YouTube動画は lazy-video-wrapper を使用して正しくベイクされます。
調査したところ、この問題は次のPRに関連しているようです: DEV: Remove lazy-yt and replace with lazy-videos by jancernik · Pull Request #20722 · discourse/discourse · GitHub なぜかこの変更後、すべての投稿が再ベイクされませんでした。私はSQLやDiscourseの専門家ではないので、問題がマイグレーションスクリプト自体にあるのか、それとも途中で失敗したのかはわかりません。
class RebakeLazyYtPosts < ActiveRecord::Migration[7.0]
def up
execute <<~SQL
UPDATE posts SET baked_version = 0
WHERE cooked LIKE '%lazyYT-container%'
SQL
end
end
数千件のYouTubeリンクを含む投稿を再ベイクする必要があるようです。どのように進めればよいでしょうか?