Fehlende Uploads nach S3 → S3-Migration

Ich habe Uploads von einem S3-Bucket zu einem anderen migriert, indem ich die hier vorgeschlagenen Tipps befolgt habe, und mit der zusätzlichen Hilfe von uploads:recover_from_tombstone und posts:rebake funktioniert fast alles wieder – aber nicht alles.

Ich bin kein Ruby-Entwickler, daher sind meine Debugging-Fähigkeiten begrenzt. Wenn ich jetzt uploads:recover ausführe, erhalte ich viele Ausgaben wie diese:

Warnung /t/foo/489/5 hatte eine falsche 4ff3ad05b76e1888161f41fd86da66efc16c290c sollte 0b029ef3549e72dd5e3498abc7f979736d279a5e sein, Speicherung im benutzerdefinierten Feld ‘rake uploads:fix_relative_upload_links’ kann dies beheben
Warnung /t/bar/498/4 hatte eine falsche 0649edb23196a8c84a9d71c04147bd8f0c96d0f7 sollte f5b4e4bb3eedcd0fb83a06eecc4920f20c5e2bc4 sein, Speicherung im benutzerdefinierten Feld ‘rake uploads:fix_relative_upload_links’ kann dies beheben
Warnung /t/bar/498/4 hatte eine falsche 0649edb23196a8c84a9d71c04147bd8f0c96d0f7 sollte f5b4e4bb3eedcd0fb83a06eecc4920f20c5e2bc4 sein, Speicherung im benutzerdefinierten Feld ‘rake uploads:fix_relative_upload_links’ kann dies beheben

Diese Warnungen scheinen tatsächlich zu Beiträgen mit fehlerhaften Uploads zu gehören, das klingt also vielversprechend. Wenn ich jedoch fix_relative_upload_links ausführe, scheint es nichts zu bewirken.

rake uploads:fix_relative_upload_links --trace
** Invoke uploads:fix_relative_upload_links (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute uploads:fix_relative_upload_links
überspringe fehlenden Upload in https://foo.com/t/bar/7/2 <img src="/uploads/default/35/f450f88541e87c52.png" width="198" height="70">
überspringe fehlenden Upload in https://foo.com/t/bar/7/2 <img src="/uploads/default/36/0b73d33d9df37a66.png" width="120" height="43">

(Ich glaube, die beiden übersprungenen Dateien sind alte Uploads vor S3. Es gibt überhaupt keine Ausgabe für die S3-Uploads, die die vorherigen Warnungen generiert haben.)

Ich habe einen Bericht über ein ähnliches Problem von vor einem Jahr gefunden, aber ich kann keine ähnlichen Berichte finden, die eine Lösung enthalten.

Ich weiß, dass ich nichts tue, was offiziell unterstützt wird, aber jeder Hinweis wäre willkommen.

Ich habe dieses Problem erst ein paar Tage nach der Migration bemerkt. Hätte ich es sofort bemerkt, hätte ich versucht, die Migration mit einem frischen DB/S3-Restore erneut durchzuführen, aber da ich keine aktuellen Beiträge verlieren möchte, muss ich von hier an mit der Live-Seite arbeiten.

Danke.

Bearbeiten: Ich habe jetzt auch versucht, die fehlerhaften upload://-URLs zu konvertieren und sie mit Einträgen in der Uploads-Tabelle zu vergleichen, und ich bin nicht wirklich schlauer geworden.

Wenn ich eine funktionierende upload://-URL inspiziere, wird sie einer Uploads-Tabellenzeile mit einer gültigen URL zugeordnet, aber wenn ich eine fehlerhafte inspiziere, wird sie… auch einer Zeile mit einer gültigen URL zugeordnet. Es scheint, als ob gültige Daten in der DB vorhanden sind und die Dateien auf S3 unter der in der Uploads-Tabelle zugewiesenen URL existieren. Ich kann die S3-URLs problemlos in meinem Browser aufrufen, daher habe ich keine Ahnung, warum sie nicht geladen werden.

1 „Gefällt mir“