summaryrefslogtreecommitdiff
path: root/lib/mix/tasks/pleroma/count_statuses.ex
blob: e1e8195ddf307116b18731055c248bcb952efe13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
defmodule Mix.Tasks.Pleroma.CountStatuses do
  @shortdoc "Re-counts statuses for all users"

  use Mix.Task
  alias Pleroma.User
  import Ecto.Query

  def run([]) do
    Mix.Pleroma.start_pleroma()

    stream =
      User
      |> where(local: true)
      |> Pleroma.Repo.stream()

    Pleroma.Repo.transaction(fn ->
      Enum.each(stream, &User.update_note_count/1)
    end)

    Mix.Pleroma.shell_info("Done")
  end
end