제가 아는 한, 우리는 보안 업로드 기능을 활성화하지 않았습니다. 하지만 제가 유일한 관리자가 아니기 때문에 그 부분에 대해서는 확신할 수 없습니다. 그리고 제 이해가 맞다면, 해당 기능이 한 번도 활성화된 적 없다면 카운트가 0을 반환해야 하는 것 아닌가요? 음, 0보다 훨씬 많네요. ;-D 실제로 235개입니다
현재 보안 미디어가 활성화되어 있지 않다면 활성화할 필요가 없습니다. 보안 업로드 수가 많으므로, 과거에 활성화되어 있었을 가능성이 높습니다. uploads:secure_upload_analyse_and_update rake 작업을 실행해 보세요. 이 작업은 모든 업로드를 순회하여 사이트 설정에 따라 보안/비보안으로 표시합니다(보안 미디어가 비활성화된 경우 모두 비보안으로 표시됩니다).
추측이긴 하지만, 백트레이스를 보면 메시지 목록이나 메시지 내 정보 목록을 직렬화하려다 특정 이미지 직렬화에서 실패하는 것으로 보입니다. 해당 이미지는 아마도 사용자의 프로필 이미지일 것입니다. 영향을 받은 계정은 하나뿐이므로, 문제의 이미지는 이 계정보다 한 번이라도 대화한 사용자의 것일 수 있습니다.
실패하는 목록 구성은 최근 N개의 메시지를 대상으로 하는 것일 수 있습니다. 문제의 계정에 서로 다른 제목의 N개 메시지를 보내면, 목록에 정상적인 메시지만 포함되도록 할 수 있습니다.
rake uploads:secure_upload_analyse_and_update를 실행해 보았지만 출력 결과는 다음과 같았습니다.
이 작업은 외부 저장소에서만 작동합니다.
그래서 activate secure media 옵션을 활성화해 보았습니다. 하지만 불행히도, 혹은 관리 오류를 방지하기 위한 조치라고 할 수 있겠는데, 이 옵션은 Amazon S3 버킷을 설정해야만 활성화할 수 있습니다. 그리고 과거에 S3 설정을 한 적이 전혀 없었던 것에는 확신이 있습니다.
따라서 S3 저장소를 사용할 수 없기 때문에 rake 스크립트를 실행할 수 없습니다. 그래서 pry(main)> Upload.where('secure').count에 어떤 영향을 미치는지 단정할 수 없습니다.
S3를 활성화한 적이 없는데 왜 여전히 몇몇의 보안 업로드(secure uploads)가 남아 있는 것일까요?
이 부분에 대해 어떤 단서가 있을까요?
하지만 사실,
이 방법이 효과가 있었습니다. 지금은 문제가 해결되어 괜찮습니다. 왜 이런 현상이 발생하는지 이유는 모르겠지만, 다른 원인이 있을 수 있다면 알고 싶습니다.
하하 - 운이 좋았나 봐요. 스택 트레이스의 특징은 구체에서 일반으로 이어진다는 점이에요. 단순히 항목들의 나열이 아니라, 일반 코드부터 구체적인 메커니즘까지의 중첩된 상호작용을 보여주는 그림 같은 거죠. 그래서 '이미지’라는 아이디어가 흥미로웠어요. 메시지 목록에는 프로필 이미지만 존재하기 때문이죠. 그리고 이전에 프로필 이미지와 관련된 이상한 문제가 있었던 것 같기도 하고요.
하지만 보안 저장을 한 번도 사용하지 않았는데, 왜 코드가 보안 저장을 참조하고 있는지 저는 전혀 모르겠어요.
이 경우 어떤 이미지들이 가져와지는지 나열하는 데이터베이스 쿼리가 있을 거라고 짐작은 하지만, 문제의 프로필을 어떻게 찾을 수 있을지는 모르겠어요. 물론, 이 스택 트레이스 뒤에 숨겨진 이야기가 정말로 이것이라면요.
그래도 감사합니다. 정말로 조금 답답해져서 모든 메시지를 삭제하는 건 마지막 수단이었어요.
자, 여기 있는 주제들에 대해 힌트를 좀 주실 수 있을까요? Docker와 Discourse에 비교적 새로운 저로서, DB 쿼리를 실행하라는 제안을 듣고 조금 혼란스러웠거든요. Discourse에서 어떤 DB를 사용하나요? 그리고 이런 식으로 쿼리를 실행할 수 있을까요?
./launcher enter app
mysql select bla
아니면 MongoDB인가요? 하지만 컨테이너 안에 들어가서 쿼리를 실행하는 것이 적어도 올바른 방향은 맞죠?
그리고 제가 올바른 쿼리를 생각해 볼 수 있도록, 탐색할 수 있는 필드나 속성의 목록이나 참고 자료 같은 것이 있을까요?
하지만 명확히 하자면, 인박스 목록에서 프로필 이미지 목록을 가져오는 데 성공하더라도, 그중 어떤 것이 문제의 원인인지, 또는 발견하더라도 어떻게 해야 하는지에 대한 제안은 여전히 없는 거죠, 맞나요? 이 부분에 대해 어떤 생각이 있으신가요?
게다가 프로필 이미지와 관련된 일반적인 문제가 있다는 점이 놀랍습니다. 이 주제에 대해 더 많은 통찰력을 얻을 수 있는 특정 게시물이 있을까요? 아니면 프로필 이미지를 처리하거나 사용 제한을 두는 방법에 대한 가이드 같은 것이 있을까요? 이런 문제를 방지하기 위해서요.
데이터베이스 쪽에 대해 잘 알지는 못하지만, 공식적으로 지원되는 플러그인인 Data Explorer 플러그인과 이 토픽을 추천합니다. (새로운 질문이 있다면 새 토픽을 시작하는 것이 좋습니다. 다른 사용자들도 해당 스레드에서 도움을 받을 수 있으며, 적절한 토픽 제목은 더 많은 도움을 이끌어낼 수 있습니다.)