0b621a834a
Also remove the now-superfluous join in the chat controller, which was only used to filter out these cases.
22 lines
548 B
Elixir
22 lines
548 B
Elixir
defmodule Pleroma.Repo.Migrations.ChatConstraints do
|
|
use Ecto.Migration
|
|
|
|
def change do
|
|
remove_orphans = """
|
|
delete from chats where not exists(select id from users where ap_id = chats.recipient);
|
|
"""
|
|
|
|
execute(remove_orphans)
|
|
|
|
drop(constraint(:chats, "chats_user_id_fkey"))
|
|
|
|
alter table(:chats) do
|
|
modify(:user_id, references(:users, type: :uuid, on_delete: :delete_all))
|
|
|
|
modify(
|
|
:recipient,
|
|
references(:users, column: :ap_id, type: :string, on_delete: :delete_all)
|
|
)
|
|
end
|
|
end
|
|
end
|