Skip to content
Snippets Groups Projects
Commit 20b8b877 authored by Roger Braun's avatar Roger Braun
Browse files

Update in chunks.

parent f1d27a5f
Branches
Tags
No related merge requests found
defmodule Pleroma.Repo.Migrations.AddActorToActivity do
use Ecto.Migration
alias Pleroma.{Repo, Activity}
@disable_ddl_transaction true
def up do
......@@ -8,9 +10,18 @@ defmodule Pleroma.Repo.Migrations.AddActorToActivity do
add :actor, :string
end
execute """
update activities set actor = data->>'actor';
"""
max = Repo.aggregate(Activity, :max, :id)
IO.puts("#{max} activities")
chunks = 0..(round(max / 10_000))
Enum.each(chunks, fn (i) ->
min = i * 10_000
max = min + 10_000
IO.puts("Updating #{min}")
execute """
update activities set actor = data->>'actor' where id > #{min} and id <= #{max};
"""
end)
create index(:activities, [:actor, "id DESC NULLS LAST"], concurrently: true)
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment