Ich habe mich etwas mit diesem Fehler beschäftigt und möchte Sie über meine Erkenntnisse auf dem Laufenden halten. Grundsätzlich habe ich alles bestätigt, was Sie bereits gesagt haben: Der Wiederherstellungsprozess verläuft wie folgt:
migrate_database
reconnect_database
...
extract_uploads
Das Problem ist, dass nach der Migration reconnect_database nicht auf die gewünschte Datenbank wechselt, sondern standardmäßig weiterarbeitet.
Daher ist dieser Code falsch:
def extract_uploads
...
current_db_name =
RailsMultisite::ConnectionManagement.current_db # default
optimized_images_exist = File.exist?(File.join(tmp_uploads_path, 'optimized'))
Eine Workaround-Lösung wäre, hier @current_db zu verwenden, das noch den korrekten Namen enthält, anstatt RailsMultisite::ConnectionManagement.current_db. Dies löst jedoch nicht das eigentliche Problem, warum reconnect_database nicht ordnungsgemäß funktioniert.
Ich muss tiefer graben, um die Ursache des Problems zu finden.