Note that openbsd needs erlang-wx
[akkoma] / priv / repo / migrations / 20200323122421_mrf_config_move_from_instance_namespace.exs
index 6f609461365f8973e32201de366d19a076d62a6a..ef36c4eb7db070044b6a3186688271b3c76640db 100644 (file)
@@ -5,13 +5,11 @@ defmodule Pleroma.Repo.Migrations.MrfConfigMoveFromInstanceNamespace do
 
   @old_keys [:rewrite_policy, :mrf_transparency, :mrf_transparency_exclusions]
   def change do
-    config = ConfigDB.get_by_params(%{group: ":pleroma", key: ":instance"})
+    config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance})
 
     if config do
-      old_instance = ConfigDB.from_binary(config.value)
-
       mrf =
-        old_instance
+        config.value
         |> Keyword.take(@old_keys)
         |> Keyword.new(fn
           {:rewrite_policy, policies} -> {:policies, policies}
@@ -21,15 +19,17 @@ defmodule Pleroma.Repo.Migrations.MrfConfigMoveFromInstanceNamespace do
 
       if mrf != [] do
         {:ok, _} =
-          ConfigDB.create(
-            %{group: ":pleroma", key: ":mrf", value: ConfigDB.to_binary(mrf)},
-            false
-          )
+          %ConfigDB{}
+          |> ConfigDB.changeset(%{group: :pleroma, key: :mrf, value: mrf})
+          |> Pleroma.Repo.insert()
 
-        new_instance = Keyword.drop(old_instance, @old_keys)
+        new_instance = Keyword.drop(config.value, @old_keys)
 
         if new_instance != [] do
-          {:ok, _} = ConfigDB.update(config, %{value: ConfigDB.to_binary(new_instance)}, false)
+          {:ok, _} =
+            config
+            |> ConfigDB.changeset(%{value: new_instance})
+            |> Pleroma.Repo.update()
         else
           {:ok, _} = ConfigDB.delete(config)
         end