アップロード画像を削除する際に問題が発生しています。
検索した限りでは、アップロードがデータベースに存在しないようです。試した検索は以下の通りです。
rails:
Upload.find_by_sha1('39b0c58d2d462e6c88d684344a8dd1f09da1ba47')
postgres:
select * from uploads where sha1 like '39b0c58d2d462e6c88d684344a8dd1f09da1ba47';
ハッシュは画像URLから取得したものです(ハッシュは例です)。通常、これらの検索で画像を見つけ、画像が最初にどこで使用されたかも特定できます。しかし、今回はアップロードが存在しないように見えるのに、バケットには存在する、というケースに遭遇しました。
どのようにしてこの状況になったのか分かりません。
バケット内を確認したところ、2年前の画像ファイルが見つかりました。
そのため、バケットを直接確認して手動で特定する必要があると考えています。データベースのレコードがない状態で、元のURLから最適化されたファイルのパスを知る方法はありますか?あるいは、他に結果が得られる可能性のあるクエリはありますか?
パスは次のようになっています: /original/2X/f/39b0c58d2d462e6c88d684344a8dd1f09da1ba47.jpg
Scalewayでは、purge_tombstoneポリシーが存在し、有効になっていることが分かります。Discourseでは、「purge deleted uploads grace period days」を1日に設定しています。