ich musste ein verlassenes Discourse-Forum verschieben. Zum Glück hatten wir mehrere Administratoren, sodass dies möglich war und wir ein Backup erstellen konnten. Wir haben für unsere Assets einen S3-Bucket verwendet, was sich als etwas problematisch erwies. An dieser Stelle möchte ich eine Feature-Anfrage stellen:
Es soll möglich sein, S3-Assets in Backups aufzunehmen
Ich habe festgestellt (ich bin mir nicht sicher, ob dies vor oder nach dem Neubearbeiten der Beiträge der Fall war), dass S3-Asset-URLs in interne URLs umgeschrieben wurden. Daher habe ich alle original und optimized S3-URLs aus der Datenbankdatei extrahiert und sie (mehr oder weniger) manuell heruntergeladen. Nachdem ich sie an den richtigen Ort verschoben hatte, wurden alle fehlenden Bilder angezeigt. … Es wäre großartig, eine automatische Funktion dafür zu haben.
Bisher bin ich auf drei Fehler gestoßen:
Defekte Vorschaubilder, aber vergrößerte Bilder funktionieren
Das klingt nach einer Fehlkonfiguration, nicht nach einem Fehler. Hast du denselben S3-Bucket auf dem neuen Host vor der Wiederherstellung konfiguriert?
Ich habe das Backup wiederhergestellt, das auch die Konfiguration enthält. Danach (und nach Erzwingen von HTTPS) bekomme ich überhaupt keine Bilder mehr aus dem S3-Bucket.
Jetzt habe ich die S3-Konfiguration vollständig entfernt.
Ist das nicht ein vollständiges Überschreiben der Konfiguration?
Es gibt eine versteckte Einstellung, die genau das bewirkt. Cdck aktiviert sie für Kunden, bei denen bekannt ist, dass sie ihre Hosting-Infrastruktur planen.
Nach der Wiederherstellung habe ich die Konfigurationen in s3 upload bucket und s3 cdn url gesetzt.
Ich habe keinen Zugriff auf die app.yml (des alten Servers).
Oh, toll! Wo?
Die einzige passende Option im Abschnitt backup, die ich gefunden habe, war:
(diese war aktiviert)
Ich bin mir nicht sicher, ob das klar ist: Ich möchte aktuell kein S3. Und ich musste die Assets von dort beziehen. Niemand weiß, wie lange dieser Server noch laufen wird.
Wenn es nicht zu spät ist (das heißt, es gab bereits Aktivitäten im Forum, die du nicht verlieren möchtest) und du über die S3-Anmeldedaten verfügst, würde ich die S3-Daten wahrscheinlich in die app.yml einfügen und die Wiederherstellung erneut ausführen. Von dort aus könntest du dann die versteckte Einstellung vornehmen, ein Backup erstellen und dieses auf einem Server ohne S3 wiederherstellen.
Ich denke jedoch, dass dies nicht der Fall ist. Und es ist auch nicht ganz klar, worin genau die Probleme bestehen, da du dich selbst nicht mehr genau daran erinnerst, was du wann getan hast.
Wenn Dinge fehlen (und du über S3-Anmeldedaten verfügst), könnte ich versuchen, mit einem S3-Tool alle Uploads herunterzuladen und dann die Datenbank so anzupassen, dass sie auf diese Dateien verweist. Dazu bin ich jedoch nicht gut genug, um hier zu erklären, wie man das macht.