forked from AkkomaGang/akkoma
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):
|
Configuration options described in [Oban readme](https://github.com/sorentwo/oban#usage):
|
||||||
|
|
||||||
* `repo` - app's Ecto repo (`Pleroma.Repo`)
|
* `repo` - app's Ecto repo (`Pleroma.Repo`)
|
||||||
* `verbose` - logs verbosity
|
* `log` - logs verbosity
|
||||||
* `prune` - non-retryable jobs [pruning settings](https://github.com/sorentwo/oban#pruning) (`:disabled` / `{:maxlen, value}` / `{:maxage, value}`)
|
|
||||||
* `queues` - job queues (see below)
|
* `queues` - job queues (see below)
|
||||||
* `crontab` - periodic jobs, see [`Oban.Cron`](#obancron)
|
* `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