X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=priv%2Frepo%2Fmigrations%2F20171109091239_add_actor_to_activity.exs;h=91348f5c38f8c6d133a32437582d94dae0a30e25;hb=10f452ad1feae9a882b6dc4cd35e09adb7e78208;hp=c04922c7684d1b9bb19208d4f7a10b866ca852d5;hpb=20b8b8774345d07537687ad5dd2fdb6f809e684f;p=akkoma diff --git a/priv/repo/migrations/20171109091239_add_actor_to_activity.exs b/priv/repo/migrations/20171109091239_add_actor_to_activity.exs index c04922c76..91348f5c3 100644 --- a/priv/repo/migrations/20171109091239_add_actor_to_activity.exs +++ b/priv/repo/migrations/20171109091239_add_actor_to_activity.exs @@ -1,35 +1,21 @@ defmodule Pleroma.Repo.Migrations.AddActorToActivity do use Ecto.Migration - alias Pleroma.{Repo, Activity} - @disable_ddl_transaction true def up do alter table(:activities) do - add :actor, :string + add(:actor, :string) end - 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) + create(index(:activities, [:actor, "id DESC NULLS LAST"], concurrently: true)) end def down do - drop index(:activities, [:actor, "id DESC NULLS LAST"]) + drop_if_exists(index(:activities, [:actor, "id DESC NULLS LAST"])) + alter table(:activities) do - remove :actor + remove(:actor) end end end