diff options
Diffstat (limited to 'priv')
| -rw-r--r-- | priv/repo/migrations/20200527163635_delete_notifications_from_invisible_users.exs | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/priv/repo/migrations/20200527163635_delete_notifications_from_invisible_users.exs b/priv/repo/migrations/20200527163635_delete_notifications_from_invisible_users.exs new file mode 100644 index 000000000..9e95a8111 --- /dev/null +++ b/priv/repo/migrations/20200527163635_delete_notifications_from_invisible_users.exs @@ -0,0 +1,18 @@ +defmodule Pleroma.Repo.Migrations.DeleteNotificationsFromInvisibleUsers do +  use Ecto.Migration + +  import Ecto.Query +  alias Pleroma.Repo + +  def up do +    Pleroma.Notification +    |> join(:inner, [n], activity in assoc(n, :activity)) +    |> where( +      [n, a], +      fragment("? in (SELECT ap_id FROM users WHERE invisible = true)", a.actor) +    ) +    |> Repo.delete_all() +  end + +  def down, do: :ok +end  | 
