Fortsetzung der Diskussion aus Wie verschiebe ich meinen S3-Upload-Bucket von einem Anbieter zu einem anderen?:
Ich versuche, von einem GCP-Bucket zu einem AWS S3-Bucket zu wechseln. Das alte System verwendet keinen S3-CDN (derjenige, der es eingerichtet hat, scheint nicht wirklich zu wissen, was er tut).
Ich habe s3cmd verwendet, um den alten GCP-Bucket mit einem lokalen Dateisystem zu synchronisieren, und dann erneut, um die Assets in den neuen S3-Bucket zu übertragen. Das System ist nun korrekt mit S3 und Site-CDNs konfiguriert, wie in Verwendung von Objektspeicher für Uploads (S3 & Klone) beschrieben.
Das oben verlinkte Thema schlug vor, rake posts:remap zu verwenden, um die Beiträge zu aktualisieren (ich nehme an, ich sollte auch alle Beiträge neu backen? Oder zumindest diejenigen, die mit dem alten Bucket übereinstimmen?).
Bei der Ausführung von posts:remap wurde nur ein Beitrag remapped.
Upload.order(Arel.sql('RANDOM()')).limit(10).pluck(:id, :url)
zeigt, dass alle diese den alten Bucket haben … Ah, das ist das Problem. Wir brauchen nicht rake posts:remap, sondern discourse remap, wie unter Change the domain name or rename your Discourse beschrieben.
Ja, das denke ich auch.
Ich werde versuchen, das in Kürze umzusetzen. @Falco, im Großen und Ganzen ist es so etwas wie:
- neuen Bucket und CDN dafür erstellen, Container neu aufbauen, um den neuen Bucket/CDN zu verwenden und sicherstellen, dass es funktioniert
s3cmdfür den alten Bucket konfigurieren und die Daten lokal synchronisierens3cmdfür den neuen Bucket konfigurieren und die Daten in den neuen Bucket hochladendiscourse remap ALT-BUCKET-DOMAIN-NAME NEUER-BUCKET-DOMAIN-NAMEausführen- neu backen
Klingt das richtig?
Wenn Sie dasselbe CDN für den alten und den neuen Bucket verwenden, könnten Sie sich das erneute Backen sparen, aber den richtigen Zeitpunkt dafür zu treffen, scheint etwas knifflig (man kann den CDN-Ursprung nicht ändern, bis die Daten im neuen Bucket sind, aber man müsste sicherstellen, dass während des Synchronisationsvorgangs nichts in den alten Bucket hochgeladen wird?) – vielleicht einfach sagen, dass es möglich ist.