SQL 쿼리에서 Flair_url이 항상 NULL인 이유는?

Group 플레어 이미지를 사용하는 플러그인을 개발 중입니다.

groups 테이블에서 flair_url을 가져오기 위해 SQL 쿼리를 실행하면 이미지가 업로드되어 있음에도 불구하고 모든 그룹에 대해 NULL이 반환됩니다. Discourse 데이터 탐색기 플러그인에서도 이를 확인할 수 있습니다(SELECT flair_url from groups).

하지만 /g.json 페이지에서는 유효한 flair_url을 제공합니다:

이것이 왜 그런 건가요? 이 URL을 가져오는 데 있어 SQL 쿼리를 통해 얻기 어렵게 만드는 어떤 특수한 사항이 있는 것일까요? 저는 Ruby와 Rails에 아직 초보라 Discourse 소스에서 정확히 어디서부터 살펴봐야 할지 모르겠습니다. app/models/group.rb의 9번째 줄에서 flair_url이 "ignored_columns"에 추가되어 있는 것을 확인했습니다. 이것이 어떤 의미를 가지는지, 혹은 어떤 영향이 있는지 잘 모르겠습니다.

이 컬럼이 NULL로 표시되는 것이 의도된 것인지 궁금하고, 만약 그렇다면 제 플러그인의 Ruby 백엔드에서 해당 데이터를 가져오는 방법에 대한 조언을 주시면 감사하겠습니다.

그 열의 데이터가 어떤 시점에 이동되었을 수도 있다고 생각합니다. flair_upload_id가 유망해 보입니다:

SELECT g.name,
       g.flair_upload_id, 
       u.url, 
       u.original_filename
FROM groups g
JOIN uploads u on g.flair_upload_id = u.id

감사합니다! 약간 우회적인 방법인 것 같지만 잘 작동했습니다! :grin:

네, flair_url 컬럼은 더 이상 사용되지 않습니다 - Ruby 코드에서 Rails가 해당 컬럼을 무시하도록 설정해 두었습니다:

이 상태가 꽤 오래 지속된 것 같습니다. @vinothkannans 배포 후 마이그레이션에서 이 컬럼을 삭제해도 될까요?

네, 이제 제거해야 합니다. 그 시점은 이미 오래전에 지나갔습니다.