システムがまもなく削除するユーザーを一覧表示するにはどうすればよいですか?

システムには、非アクティブなユーザーをクリーンアップするためのデフォルト設定があります。デフォルトの基準は次のようになっていると思います。

  • last_posted_at の日付(投稿なし)、
  • TL0
  • (デフォルトで)2年間アクセスがない

これらの基準は、ユーザーベースをクリーンアップする上で一般的に非常にうまく機能します。

しかし、システムが将来削除する管理者ユーザーのリストを作成する方法はありますか?私たちは、非常に価値があるが非アクティブなユーザーに連絡を取り、私たちと一緒にいる理由を伝えたいと考えています。

「いいね!」 1

こんにちは、Amicableさん!

データエクスプローラーを使用すると、クエリは次のようになります。

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

それは非常に役立ちそうです。データエクスプローラーのことは知りませんでしたので、そこから始めます。解決策をありがとうございます :+1:

好奇心から、目的は何ですか?管理者は通常、アクティブで、投稿し、ログインします。

編集:この部分を誤解していた可能性があります。

:slight_smile:

この場合、SQLクエリからand admin = trueを削除するだけです。


SQLコードを直接更新しました。

「いいね!」 1

これは、私たちの管理者ユーザーを示すリスト用です。

しかし、より広範なユースケースは興味深いかもしれません。私たちは、コミュニティの一部には価値があるものの忙しい高齢者が多く、投稿したりログインしたりする可能性は低いですが、メールダイジェストをかなり利用しています。しかし、彼らはメールに非常に慣れており、最新情報を把握しておくことを好みます。

しかし、突然2年後に:boom:なり、彼らと連絡を取り戻すことができなくなりました。

なるほど。基本的に、彼らはメールで読み、ほとんどの場合ログオフした状態で閲覧しています。

これをどう扱うべきか分かりません。きっと誰か良い考えを持っているでしょう。単純な方法としては、少なくともフォーラムに1通投稿してもらうことです。

また、180日間ログインしなかったユーザー(デフォルト値)はダイジェストが無効になることに注意してください。設定名はsuppress digest email after daysです。

「いいね!」 1

はい、その通りです。一度投稿してくれると嬉しいのですが、非常に時間がない、テクノロジーが苦手、しかし非常に価値のある人物を想像してみてください。ダイジェストは彼らにとって素晴らしく、コミュニティは彼らが属していることを知っており、オンラインで積極的に貢献しないことを気にしません。

信頼レベルを変更し、0以外の値にロックすることができます。:slight_smile:
これにより、非アクティブユーザーのクリーンアップジョブで検出されるのを防ぐことができます。

「いいね!」 2

最もシンプルな解決策が最良です :tada:

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.