mirror of https://akkoma.dev/AkkomaGang/akkoma
23 lines
548 B
Elixir
23 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
|