Restauration multisite des fichiers uploadés vers « default » au lieu du nom réel de la base de données

J’ai passé un certain temps sur ce bug et je voulais vous faire part de mes découvertes. En gros, j’ai confirmé tout ce que vous avez déjà dit : le processus de restauration se déroule comme suit :

migrate_database
reconnect_database
...
extract_uploads

Le problème est qu’après la tâche de migration, reconnect_database ne bascule pas vers la base de données souhaitée, mais commence à travailler sur la base par défaut.

Par conséquent, ce code est incorrect :

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

Une solution rapide consisterait à utiliser ici @current_db, qui contient toujours le nom correct, au lieu de RailsMultisite::ConnectionManagement.current_db, mais cela ne résout pas le vrai problème de pourquoi reconnect_database ne fonctionne pas correctement.

Je dois creuser plus profondément pour trouver la cause du problème.