pleroma/priv/repo/migrations/20240729163838_publisher_job_change.exs

28 lines
613 B
Elixir
Raw Normal View History

defmodule Pleroma.Repo.Migrations.PublisherJobChange do
use Ecto.Migration
alias Pleroma.Activity
alias Pleroma.Repo
import Ecto.Query
def up do
query =
from(j in Oban.Job,
where: j.worker == "Pleroma.Workers.PublisherWorker",
where: j.state in ["available", "retryable"]
)
jobs = Repo.all(query)
Enum.each(jobs, fn job ->
args = job.args
activity = Activity.get_by_ap_id(args["id"])
updated_args = Map.put(args, "activity_id", activity.id)
Pleroma.Workers.PublisherWorker.new(updated_args)
|> Oban.insert()
end)
end
end