Ich habe gerade versucht, den Titel eines alten Themas zu ändern. Dann stellte ich fest, dass alle Bilder im Thema nun transparent.png sind und nicht korrekt angezeigt werden.
rake uploads:recover gefolgt von rake posts:rebake hat das Problem nicht behoben.
Ich kann auf das Bild unter https://talk.zabanshenas.com/uploads/default/original/3X/8/7/8726fbef7b69ac8226d28568b46f3e06afe2fb4f.jpeg zugreifen.
Der Upload selbst lautet: 
Wenn ich jedoch folgendes ausführe:
Upload.where( "url LIKE '%8726fbef7b69ac8226d28568b46f3e06afe2fb4f%'" )
erhalte ich:
=> []
Irgendeine Idee?
Wenn ich das exakt gleiche Bild irgendwo anders erneut hochlade, wird das Bild im alten Beitrag nach dem Neuaufbau ebenfalls angezeigt. Ich vermute also, dass es ein Problem mit der Indizierung einiger bereits hochgeladener Dateien gibt. Wie kann ich alle hochgeladenen Dateien erneut indizieren? Oder noch besser: nur die fehlenden indizieren.
Update:
Ich habe einige Rake-Tasks durchgesehen und rake posts:recover_uploads_from_index gefunden, was mein Problem zu beheben scheint. Allerdings erhalte ich folgenden Fehler:
undefined method `split' for nil:NilClass
from /var/www/discourse/app/models/site_setting.rb:151:in `s3_base_url'
Ich habe keine S3-Uploads für meine Website aktiviert
![]()
Update:
Ich habe eine vorübergehende, nicht sehr elegante Lösung für den oben genannten Fehler implementiert (diese Zeile auskommentieren) und den Rake-Task ausgeführt. Das war jedoch nicht das, was ich erwartet hatte:
Suche nach upload://dC9HyffX3S1XbwwdUOsHe5aMyJX.jpeg (dC9HyffX3S1XbwwdUOsHe5aMyJX) im Index
upload://dC9HyffX3S1XbwwdUOsHe5aMyJX.jpeg in https://talk.zabanshenas.com/t/topic/4430/1 wird übersprungen, da der Dateiname zu kurz zu sein scheint
Suche nach upload://kWx14u8XkQ8qd6NvOoDLN6usTl8.jpeg (kWx14u8XkQ8qd6NvOoDLN6usTl8) im Index
upload://kWx14u8XkQ8qd6NvOoDLN6usTl8.jpeg in https://talk.zabanshenas.com/t/topic/4430/1 wird übersprungen, da der Dateiname zu kurz zu sein scheint
Ich habe mich tiefer mit der Rake-Aufgabe rake uploads:recover beschäftigt. Ich denke, in der folgenden Zeile ist etwas falsch:
Soweit ich das verstehe, sollten hier alle Dateien in uploads/default/original zu @paths hinzugefügt werden. Allerdings habe ich versucht, @paths in eine Datei auszugeben, und sehe nur Tombstone-Dateien aufgelistet.
Übersehe ich hier etwas?
@cvx
Ich denke, es sollte so aussehen:
concat(Dir.glob(File.join(
Rails.root, "public", Discourse.store.upload_path,
'original',
'**',
'*.*'
)))
