don't delete config settings on admin update

This commit is contained in:
Alexander Strizhakov 2019-06-27 04:19:44 +00:00 committed by kaniini
commit c6705144a2
4 changed files with 15 additions and 7 deletions

View file

@ -36,9 +36,11 @@ defmodule Mix.Tasks.Pleroma.Config do
end
end
def run(["migrate_from_db", env]) do
def run(["migrate_from_db", env, delete?]) do
start_pleroma()
delete? = if delete? == "true", do: true, else: false
if Pleroma.Config.get([:instance, :dynamic_configuration]) do
config_path = "config/#{env}.exported_from_db.secret.exs"
@ -47,7 +49,11 @@ defmodule Mix.Tasks.Pleroma.Config do
Repo.all(Config)
|> Enum.each(fn config ->
mark = if String.starts_with?(config.key, "Pleroma."), do: ",", else: ":"
mark =
if String.starts_with?(config.key, "Pleroma.") or
String.starts_with?(config.key, "Ueberauth"),
do: ",",
else: ":"
IO.write(
file,
@ -56,8 +62,10 @@ defmodule Mix.Tasks.Pleroma.Config do
}\r\n"
)
{:ok, _} = Repo.delete(config)
Mix.shell().info("#{config.key} deleted from DB.")
if delete? do
{:ok, _} = Repo.delete(config)
Mix.shell().info("#{config.key} deleted from DB.")
end
end)
File.close(file)

View file

@ -388,7 +388,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
|> Enum.reject(&is_nil(&1))
Pleroma.Config.TransferTask.load_and_update_env()
Mix.Tasks.Pleroma.Config.run(["migrate_from_db", Pleroma.Config.get(:env)])
Mix.Tasks.Pleroma.Config.run(["migrate_from_db", Pleroma.Config.get(:env), "false"])
updated
else
[]