Multisite восстанавливает загрузки в '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 работает некорректно.

Мне нужно копнуть глубже, чтобы найти причину.