업로드된 이미지를 삭제하는 데 문제가 생겼습니다.
데이터베이스에서 해당 업로드가 존재하지 않는 것 같습니다. 제가 시도한 검색은 다음과 같습니다:
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에서 '삭제된 업로드의 유예 기간(일)'을 1일로 설정해 두었습니다.