시스템에서 비활성 사용자를 정리하기 위한 기본 설정이 있습니다. 기본 기준은 다음과 같습니다:
- 마지막 게시 날짜 (게시 기록 없음),
- TL0
- (기본값으로) 2년간 접속 기록 없음
이러한 기준은 사용자 기반을 정리하는 데 일반적으로 매우 효과적입니다.
하지만 시스템이 향후 삭제할 사용자를 관리자에게 목록으로 보여주는 방법이 있을까요? 매우 가치 있지만 비활성 상태인 사용자에게 우리와 함께 있어 주실 이유를 설명하고 소통하고 싶습니다.
시스템에서 비활성 사용자를 정리하기 위한 기본 설정이 있습니다. 기본 기준은 다음과 같습니다:
이러한 기준은 사용자 기반을 정리하는 데 일반적으로 매우 효과적입니다.
하지만 시스템이 향후 삭제할 사용자를 관리자에게 목록으로 보여주는 방법이 있을까요? 매우 가치 있지만 비활성 상태인 사용자에게 우리와 함께 있어 주실 이유를 설명하고 소통하고 싶습니다.
Amicable님, 안녕하세요!
데이터 탐색기(Data Explorer)를 사용하려면 쿼리는 다음과 같습니다:
WITH posts_by_user AS (
SELECT COUNT(*) AS posts, user_id
FROM posts
GROUP BY user_id
)
SELECT
u.id,
u.username_lower AS "username",
u.created_at,
u.last_seen_at
FROM users u
LEFT JOIN posts_by_user pbu ON pbu.user_id = u.id
WHERE u.active = true and u.trust_level = 0
AND posts IS NULL
ORDER BY u.id
매우 유용해 보입니다. 데이터 탐색기에 대해 몰랐는데, 거기서 시작해 보겠습니다. 해결책 감사합니다 ![]()
궁금해서 묻는데, 목적은 무엇인가요? 관리자는 보통 활동적이고, 게시물을 작성하고, 로그인합니다.
수정: 이 부분을 오해했을 수도 있습니다:
![]()
이 경우, SQL 쿼리에서 and admin = true를 제거하면 됩니다.
SQL 코드를 직접 업데이트했습니다.
관리자(us)에게 사용자를 보여주는 목록용입니다.
다만 더 넓은 사용 사례는 흥미로울 수 있습니다. 우리 커뮤니티에는 가치가 높지만 바쁜 고령의 회원들이 꽤 많은데, 이들은 게시글을 남길 가능성이 낮고 로그인도 잘 하지 않습니다. 하지만 이메일에는 매우 익숙하고, 최신 정보를 계속 받아보는 것을 좋아합니다.
그런데 갑자기 2년 만에
하고 연락 두절이 되어, 다시 연락할 방법이 없게 되었습니다.
아, 그렇군요. 기본적으로 그들은 이메일로 읽는 것 외에는 거의 항상 로그아웃 상태로 있습니다.
이걸 어떻게 처리해야 할지 잘 모르겠습니다. 분명 좋은 아이디어를 가진 분이 계실 거예요. 다만, 적어도 포럼에 게시물을 하나 올리는 것이 가장 간단한 방법일 것입니다.
또한, 180일(기본값) 동안 로그인하지 않은 사용자는 다이제스트가 비활성화됩니다. 이 설정의 이름은 suppress digest email after days입니다.
네, 정확합니다. 한 번이라도 글을 올려주면 좋겠어요. 하지만 시간 여유가 전혀 없고 기술에 매우 서툰 사람을 상상해 보세요. 그런데 그런 사람이 팀에서 매우 중요한 역할을 맡고 있다면요. 그들에게 다이제스트는 정말 훌륭하고, 커뮤니티도 그들이 소속되어 있다는 것을 알기 때문에 온라인에서 적극적으로 기여하지 않는 것을 전혀 문제 삼지 않습니다.
신뢰 수준을 변경하여 0이 아닌 다른 값으로 고정할 수 있습니다. ![]()
이렇게 하면 비활성 사용자 정리 작업에 의해 선택되지 않도록 방지할 수 있습니다.
가장 단순한 해결책이 가장 좋습니다 ![]()