Wiederherstellung des Backups schlägt fehl mit AUSNAHME: ERROR: Wert zu lang für den Typ character varying(1000)

Wir verwenden Discourse v3.2.5.

Dies funktionierte früher, aber in letzter Zeit treten Probleme auf. Die Wiederherstellung aus einem Backup schlägt mit der Ausnahme EXCEPTION: ERROR: value too long for type character varying(1000) fehl, wenn versucht wird, die Uploads neu zuzuordnen.

[2025-03-18 21:03:24] Wiederverbindung zur Datenbank…

[2025-03-18 21:03:24] Neuladen der Website-Einstellungen…

[2025-03-18 21:03:24] Deaktivieren ausgehender E-Mails für Nicht-Mitarbeiter-Benutzer…

[2025-03-18 21:03:25] Deaktivieren des schreibgeschützten Modus…

[2025-03-18 21:03:25] Löschen des Kategorie-Caches…

[2025-03-18 21:03:25] Neuladen der Übersetzungen…

[2025-03-18 21:03:25] Neuzuordnung von Uploads…

[2025-03-18 21:03:27] Neuzuordnung mit Regex von ‘//s3-bucket-name.s3.amazonaws.com/uploads/’ zu ‘/uploads/default/’
[2025-03-18 21:03:35] Wiederherstellung von Uploads, dies kann eine Weile dauern…
[2025-03-18 21:03:37] EXCEPTION: ERROR: value too long for type character varying(1000)

Ich konnte es beheben, indem ich character varying für die Spalte origin in der Tabelle uploads in dump.sql vor dem Wiederherstellen geändert habe. Ich möchte jedoch wissen, wie es früher funktioniert hat und warum es jetzt ohne Änderungen an der Datenbank oder der Anwendung fehlschlägt. Wir sehen denselben Fehler in 3.2.1 und 3.2.5.

Ich habe festgestellt, dass der Upload-Ursprung die Amazon-Metadaten enthält, die bei jedem Zugriff auf das Objekt ein Sicherheitstoken beinhalten. Daher überschreitet die Länge 1000. Gibt es einen Grund, warum die Metadaten im Ursprung enthalten sind und bei jedem Dateizugriff aktualisiert werden? Können wir die Metadaten aus der Ursprungs-URL entfernen? Oder können wir die character varying-Beschränkung von 1000 auf 2000 ändern?

1 „Gefällt mir“