以前の議論「全期間のサインアップ数が減少することはありますか?」の続き:
古いフォーラムからユーザーをインポートしたところ、それらが「About」のサインアップ統計に表示されます。
これらのユーザーをTL1に設定し、非アクティブにしました。私の理解では、TL1では自動クリーンアップによって削除されるべきではありません。
非アクティブ化された場合でも「サインアップ」としてカウントされるべきか疑問に思っています。もしそうでない場合、再カウントを強制するための特定のrakeコマンドやSQLクエリはありますか?
回答が見つかったと思います。
user_count: User.real.count, users_last_day: User.real.where('created_at > ?', 1.days.ago).count, users_7_days: User.real.where('created_at > ?', 7.days.ago).count, users_30_days: User.real.where('created_at > ?', 30.days.ago).count,
# システムユーザーや匿名ユーザーのような偽ユーザーを除外する scope :real, ->(allowed_bot_user_ids: nil) do human_users(allowed_bot_user_ids: allowed_bot_user_ids).where( "NOT EXISTS( SELECT 1 FROM anonymous_users a WHERE a.user_id = users.id )", ) end
したがって、非アクティブ化されたユーザーもカウントされます。