Can't restore a backup if it includes link to Discourse onebox で言及されている問題のように聞こえます ![]()
リストア中に修正できるはずですが、シェルで実行する必要があります。
cd /var/discourse
./launcher enter app
# --pause 引数付きでリストアを開始します
discourse restore --pause <backup_filename>
リストアプロセスは 2 つの時点で一時停止します。
- DB マイグレーションが実行される前 – これは無視して、キーを押して続行してください。
- アップロードがリストアされる前。アップロードが原因でリストアが中止される前に、修正できる、変更されていない
uploadsテーブルにアクセスできます。
次に、別の SSH セッションでサーバーに接続し、レールコンソールを開始します。
cd /var/discourse
./launcher enter app
rails c
リストアを失敗させる原因となっている Post を特定する必要があります。運が良ければ、レールコンソールで以下を実行することで見つけることができます。
current_db = RailsMultisite::ConnectionManagement.current_db
cdn_path = SiteSetting.cdn_path("/uploads/#{current_db}/original").sub(/https?:/, "")
Post.where("cooked LIKE '%#{cdn_path}%'")