1 defmodule Pleroma.Repo.Migrations.AddActorToActivity do
4 alias Pleroma.{Repo, Activity}
6 @disable_ddl_transaction true
9 alter table(:activities) do
13 max = Repo.aggregate(Activity, :max, :id)
14 IO.puts("#{max} activities")
15 chunks = 0..(round(max / 10_000))
17 Enum.each(chunks, fn (i) ->
20 IO.puts("Updating #{min}")
22 update activities set actor = data->>'actor' where id > #{min} and id <= #{max};
26 create index(:activities, [:actor, "id DESC NULLS LAST"], concurrently: true)
30 drop index(:activities, [:actor, "id DESC NULLS LAST"])
31 alter table(:activities) do