우리 사용자 중 한 명이 5개의 “좋은 답변” 배지(100개의 게시글을 좋아요하고 100개의 좋아요를 제공)를 가지고 있었습니다. 그런데 몇 가지 주제를 비공개 카테고리로 이동시킨 후, 이제 그 사용자는 배지가 3개만 있습니다. 이동된 주제에 대한 좋아요 제공 또는 수신이 배지 쿼리에 반영되지 않는 것 같으며, 이는 주제가 이동되었기 때문이거나 이제 비공개가 되었기 때문일 수 있습니다.
이 문제를 디버깅하는 과정에서 배지 쿼리를 Data Explorer로 복사했습니다:
select p.user_id, p.id post_id, current_timestamp granted_at
from badge_posts p
where p.post_number > 1
and p.like_count >= 10
위 쿼리는 해당 사용자에게 3개의 결과만 반환하지만, 원래 5개여야 합니다. 이 쿼리가 “badge_posts” 테이블을 사용한다는 것을 알게 되었습니다. Data Explorer의 트리 뷰에서 badge_posts 테이블을 찾을 수 없습니다. 그래서 "badge_posts"를 "posts"로 변경했는데, 그랬더니 예상대로 5개가 반환되었습니다.
“badge_posts” 테이블은 어디에서 오는 것이며, 배지 쿼리는 대신 “posts” 테이블을 사용해야 하는 것 아닙니까?