summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-10-06 17:53:03 +0300
committerrinpatch <rinpatch@sdf.org>2019-10-06 18:06:04 +0300
commitee88afb2e2d26defe18541dd2a57f8c34e191cb8 (patch)
tree11a18866a78d16d9f1a8dbb902b0c15be3e7acf7
parent2411d092157e14caf45b3bc70cfc3b1c1478ac50 (diff)
Fix muted notification migration only working with a schema
Should also improve performance. I tested it on my local DB, but if anyone has a backup of <=1.0 db they can test this on, please do
-rw-r--r--priv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs13
1 files changed, 1 insertions, 12 deletions
diff --git a/priv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs b/priv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs
index 815d66549..b717cab2e 100644
--- a/priv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs
+++ b/priv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs
@@ -1,19 +1,8 @@
defmodule Pleroma.Repo.Migrations.CopyMutedToMutedNotifications do
use Ecto.Migration
- import Ecto.Query
alias Pleroma.User
def change do
- query = from(u in "users", where: fragment("not (?->'deactivated' @> 'true')", u.info), select: %{info: u.info}, where: u.local == true, order_by: u.id)
- Pleroma.Repo.stream(query)
- |> Enum.each(fn
- %{info: %{mutes: mutes} = info} = user ->
- info_cng =
- Ecto.Changeset.cast(info, %{muted_notifications: mutes}, [:muted_notifications])
-
- Ecto.Changeset.change(user)
- |> Ecto.Changeset.put_embed(:info, info_cng)
- |> Pleroma.Repo.update()
- end)
+ execute("update users set info = jsonb_set(info, '{muted_notifications}', info->'mutes', true) where local = true")
end
end