Digital OceanのドロップレットでDiscourseのアップデートに失敗しました。ドロップレットのバックアップを復元しようとしましたが、バックアップから新しいドロップレットにDiscourseが含まれていないようです。新しいドロップレットを立ち上げて、最新のDiscourseをインストールし、私のAmazon S3バックアップを認識させました。復元をクリックすると、サイトにはすべての投稿などが表示されますが、突然復元に失敗し、ロールバックされます。なぜこれが起こっているのか、今何をすればDiscourseを動かせるのか分かりません。参考のためにログファイルを添付しました。
log 3.txt (93.8 KB)
569件の投稿が新しいS3アップロードURLにマッピングされていません。S3のマイグレーションはデータベース ‘default’ で失敗しました。
新しいS3アップロードURLがあると言っていることは、以前の状況と異なる設定を行っていることを示しています。失敗しているということは、新しい設定も正しくないことを示しています。
解決策:app.ymlに設定した変数が以前のインストールと同じであることを確認してください。
「いいね!」 1
失敗したディスコースアップデートのドロップレットからapp.ymlファイルを掴み、バックアップを復元しようとしている新しいドロップレットに移動しました。それでも569件の投稿で失敗します。それらをスキップする方法や、それを乗り越える別の方法はありますか?フォーラム全体を復旧させたいのですが、569件の投稿よりも優先したいです。
私のいつもの方法は、移行前にs3アップロードを無効にすることですが、元のフォーラムがダウンしているため、その選択肢がないと思います。
これがうまくいくか100%確信はありませんが、試してみることができます
DISCOURSE_ENABLE_S3_UPLOADS: falseをapp.ymlに設定- リストア
- その行を削除
- 再ビルド
もしうまくいかない場合は、バックアップのdump.sqlファイルを編集して、その設定をfalseに設定してみてください。