move to 2.5.5
[anni] / priv / repo / migrations / 20200910113106_remove_managed_config_from_db.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.RemoveManagedConfigFromDb do
6   use Ecto.Migration
7   import Ecto.Query
8   alias Pleroma.ConfigDB
9   alias Pleroma.Repo
10
11   def up do
12     config_entry =
13       from(c in ConfigDB,
14         select: [:id, :value],
15         where: c.group == ^:pleroma and c.key == ^:instance
16       )
17       |> Repo.one()
18
19     if config_entry do
20       {_, value} = Keyword.pop(config_entry.value, :managed_config)
21
22       config_entry
23       |> Ecto.Changeset.change(value: value)
24       |> Repo.update()
25     end
26   end
27
28   def down do
29     :ok
30   end
31 end