diff options
Diffstat (limited to 'priv/repo/migrations')
3 files changed, 46 insertions, 0 deletions
diff --git a/priv/repo/migrations/20200824115541_rename_activity_expiration_setting.exs b/priv/repo/migrations/20200824115541_rename_activity_expiration_setting.exs new file mode 100644 index 000000000..241882ef6 --- /dev/null +++ b/priv/repo/migrations/20200824115541_rename_activity_expiration_setting.exs @@ -0,0 +1,13 @@ +defmodule Pleroma.Repo.Migrations.RenameActivityExpirationSetting do +  use Ecto.Migration + +  def change do +    config = Pleroma.ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.ActivityExpiration}) + +    if config do +      config +      |> Ecto.Changeset.change(key: Pleroma.Workers.PurgeExpiredActivity) +      |> Pleroma.Repo.update() +    end +  end +end diff --git a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs new file mode 100644 index 000000000..cdc00d20b --- /dev/null +++ b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs @@ -0,0 +1,26 @@ +defmodule Pleroma.Repo.Migrations.MoveActivityExpirationsToOban do +  use Ecto.Migration + +  import Ecto.Query, only: [from: 2] + +  def change do +    Supervisor.start_link([{Oban, Pleroma.Config.get(Oban)}], +      strategy: :one_for_one, +      name: Pleroma.Supervisor +    ) + +    from(e in "activity_expirations", +      select: %{id: e.id, activity_id: e.activity_id, scheduled_at: e.scheduled_at} +    ) +    |> Pleroma.Repo.stream() +    |> Stream.each(fn expiration -> +      with {:ok, expires_at} <- DateTime.from_naive(expiration.scheduled_at, "Etc/UTC") do +        Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ +          activity_id: FlakeId.to_string(expiration.activity_id), +          expires_at: expires_at +        }) +      end +    end) +    |> Stream.run() +  end +end diff --git a/priv/repo/migrations/20200825093037_drop_activity_expirations_table.exs b/priv/repo/migrations/20200825093037_drop_activity_expirations_table.exs new file mode 100644 index 000000000..11c461427 --- /dev/null +++ b/priv/repo/migrations/20200825093037_drop_activity_expirations_table.exs @@ -0,0 +1,7 @@ +defmodule Pleroma.Repo.Migrations.DropActivityExpirationsTable do +  use Ecto.Migration + +  def change do +    drop(table("activity_expirations")) +  end +end  | 
