move to 2.5.5
[anni] / priv / repo / migrations / 20200905091427_rename_timeout_in_pools.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Repo.Migrations.RenameTimeoutInPools do
6   use Ecto.Migration
7
8   def change do
9     with %Pleroma.ConfigDB{} = config <-
10            Pleroma.ConfigDB.get_by_params(%{group: :pleroma, key: :pools}) do
11       updated_value =
12         Enum.map(config.value, fn {pool, pool_value} ->
13           with {timeout, value} when is_integer(timeout) <- Keyword.pop(pool_value, :timeout) do
14             {pool, Keyword.put(value, :recv_timeout, timeout)}
15           end
16         end)
17
18       config
19       |> Ecto.Changeset.change(value: updated_value)
20       |> Pleroma.Repo.update()
21     end
22   end
23 end