Migrate in-db config after updating to Oban 2.0
This commit is contained in:
parent
5d215fd81f
commit
8d56fb6d22
2 changed files with 28 additions and 2 deletions
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
Loading…
Reference in a new issue