マルチサイトがアップロードを実際の DB 名ではなく「default」に復元する問題

このバグについて時間を費やしましたので、私の調査結果をお伝えします。基本的には、あなたが既におっしゃっていたことをすべて確認しました。復元プロセスは以下の通りです:

migrate_database
reconnect_database
...
extract_uploads

問題は、マイグレーションタスクの後に reconnect_database が意図したデータベースに切り替わらず、デフォルトのものに対して動作を始めてしまうことです。

したがって、このコードは誤っています:

def extract_uploads
  ...
  current_db_name = 
  RailsMultisite::ConnectionManagement.current_db # default
  optimized_images_exist = File.exist?(File.join(tmp_uploads_path, 'optimized'))

応急処置的な解決策として、ここでは正しい名前を保持している @current_db を RailsMultisite::ConnectionManagement.current_db の代わりに使用することも考えられますが、これでは reconnect_database が正しく機能しない根本的な原因は解決されません。

問題の究明のため、さらに詳しく調査する必要があります。