古いマルチサイト環境からの復元に失敗

マルチサイト環境からのバックアップに影響を与えるような、リストアプロセスの変更はありましたか?

本日、サーバー間でサイトを移動しようとしました。旧サーバーはマルチサイトインストールで、前面に HTTPS カプセル化を処理する nginx が配置され、force_https が有効になっています。

新サーバーは標準インストールのスタンドアロン版で、Let’s Encrypt を使用しています。

バックアップファイルを確認すると、元のアップロードファイルは存在しますが、新サーバーのファイルシステムにはリストアされていないようです。サイト全体の画像への参照が、旧マルチサイトの「secondsite」を指しているため、パスが /uploads/secondsite/original ではなく /uploads/default/original を指しています。

GUI とコマンドラインの両方でリストアを試みました。さらに調査する予定ですが、現時点では Support に投稿するのが妥当だと考えました。もしこれがまだサポートされているシナリオであることを確認できる方がいれば、Contribute > Bug に移動させる予定です。

以前は正常に動作していた機能ですが、少なくとも1年、もしかしたらそれ以上、試していないためです。

ファイルは存在するが、場所が間違っているのでしょうか?そして、データベースがデフォルトではなく、2番目のサイトを指している?バグのようですが、ディレクトリ名を変更すれば解決するかもしれませんね?それとも、バックアップにアップロードファイルが含まれていなかったのでしょうか?

バックアップアーカイブには存在しますが、ファイルシステムには決して到達しません。

それは奇妙ですね!バグのようです。どちらのシステムも S3 アップロードが設定されていないのでしょうか?

その通りです。後でさらにテストを行います。

それは予想外ですね。バックアップファイルを確認することはできますか?それとも、自分でデバッグしたい場合は、discourse/lib/backup_restore/uploads_restorer.rb at main · discourse/discourse · GitHub をご覧ください。

@team のようなことに取り組む姿勢は本当に素晴らしいです。先週、@tgxworld がエッジケースの問題の解決を手伝ってくれました。:tada: