몇 년 전, 저희는 vBulletin에서 Discourse로 이전했습니다. 이 이전 작업의 일환으로, 차단된 사용자들도 대량으로 가져와졌습니다. 그 자체는 문제가 아닙니다. 문제는 그들이 작성한 게시물이 Discourse에서 표시되게 되었다는 것입니다. 차단된 사용자 대부분은 발견되어 차단되기 전에 1~2개의 게시물을 작성했을 뿐인데, vBulletin에서 그들의 게시물을 숨기던 설정이 Discourse에서는 해당 게시물이 보이도록 만들었습니다. 이 게시물이 보이는 것이 문제입니다.
3개 미만 게시물을 작성한 차단된 사용자의 모든 게시물을 찾아 일괄 삭제하는 방법이 있을까요?
아래의 Data Explorer 쿼리를 사용하면 게시글이 3개 미만인 모든 금지된 사용자를 찾을 수 있습니다:
SELECT p.user_id, COUNT(p.id) AS qtt_posts
FROM posts p
INNER JOIN users u ON u.id = p.user_id
WHERE suspended_till NOTNULL
GROUP BY user_id
HAVING COUNT(p.id) < 3
사용자를 삭제하려면 API: /admin/users/{id}.json를 사용할 수 있으며, 문서에 대한 자세한 내용은 여기에서 확인하실 수 있습니다.