summaryrefslogtreecommitdiff
path: root/priv/repo/migrations/20200527163635_delete_notifications_from_invisible_users.exs
blob: 9e95a8111ad19a72ce0f93b25e812dae8803805a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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