summaryrefslogtreecommitdiff
path: root/priv/repo/migrations/20200910113106_remove_managed_config_from_db.exs
blob: d81f31860bb384caa4e6df206df0745ec36a9dbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Pleroma: A lightweight social networking server
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only

defmodule Pleroma.Repo.Migrations.RemoveManagedConfigFromDb do
  use Ecto.Migration
  import Ecto.Query
  alias Pleroma.ConfigDB
  alias Pleroma.Repo

  def up do
    config_entry =
      from(c in ConfigDB,
        select: [:id, :value],
        where: c.group == ^:pleroma and c.key == ^:instance
      )
      |> Repo.one()

    if config_entry do
      {_, value} = Keyword.pop(config_entry.value, :managed_config)

      config_entry
      |> Ecto.Changeset.change(value: value)
      |> Repo.update()
    end
  end

  def down do
    :ok
  end
end