1 defmodule Pleroma.Config.TransferTask do
3 alias Pleroma.Web.AdminAPI.Config
7 if Pleroma.Config.get(:env) == :test, do: Ecto.Adapters.SQL.Sandbox.checkin(Pleroma.Repo)
11 def load_and_update_env do
12 if Pleroma.Config.get([:instance, :dynamic_configuration]) and
13 Ecto.Adapters.SQL.table_exists?(Pleroma.Repo, "config") do
14 Pleroma.Repo.all(Config)
15 |> Enum.each(&update_env(&1))
19 defp update_env(setting) do
22 if String.starts_with?(setting.key, "Pleroma.") do
23 "Elixir." <> setting.key
30 String.to_existing_atom(key),
31 Config.from_binary(setting.value)
38 "updating env causes error, key: #{inspect(setting.key)}, error: #{inspect(e)}"