|
|
@@ -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 |