logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 2d5e96ea8ba4c1fc42d4ce4d2ce6cbd9e39cf232
parent: 5d215fd81f529b639db9096ca71d4e7f0a6ed386
Author: rinpatch <rinpatch@sdf.org>
Date:   Tue, 14 Jul 2020 10:39:08 +0000

Merge branch 'fix/oban-2.0-in-db-config' into 'develop'

Migrate in-db config after updating to Oban 2.0

See merge request pleroma/pleroma!2765

Diffstat:

Mdocs/configuration/cheatsheet.md3+--
Apriv/repo/migrations/20200714081657_oban_2_0_config_changes.exs27+++++++++++++++++++++++++++
2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md @@ -629,8 +629,7 @@ Email notifications settings. Configuration options described in [Oban readme](https://github.com/sorentwo/oban#usage): * `repo` - app's Ecto repo (`Pleroma.Repo`) -* `verbose` - logs verbosity -* `prune` - non-retryable jobs [pruning settings](https://github.com/sorentwo/oban#pruning) (`:disabled` / `{:maxlen, value}` / `{:maxage, value}`) +* `log` - logs verbosity * `queues` - job queues (see below) * `crontab` - periodic jobs, see [`Oban.Cron`](#obancron) diff --git a/priv/repo/migrations/20200714081657_oban_2_0_config_changes.exs b/priv/repo/migrations/20200714081657_oban_2_0_config_changes.exs @@ -0,0 +1,27 @@ +defmodule Elixir.Pleroma.Repo.Migrations.Oban20ConfigChanges do + use Ecto.Migration + import Ecto.Query + alias Pleroma.ConfigDB + alias Pleroma.Repo + + def change do + config_entry = + from(c in ConfigDB, where: c.group == ^":pleroma" and c.key == ^"Oban") + |> select([c], struct(c, [:value, :id])) + |> Repo.one() + + if config_entry do + %{value: value} = config_entry + + value = + case Keyword.fetch(value, :verbose) do + {:ok, log} -> Keyword.put_new(value, :log, log) + _ -> value + end + |> Keyword.drop([:verbose, :prune]) + + Ecto.Changeset.change(config_entry, %{value: value}) + |> Repo.update() + end + end +end