defmodule Pleroma.Repo.Migrations.CreatePushSubscriptions do use Ecto.Migration def change do create_if_not_exists table("push_subscriptions") do add(:user_id, references("users", on_delete: :delete_all)) add(:token_id, references("oauth_tokens", on_delete: :delete_all)) add(:endpoint, :string) add(:key_p256dh, :string) add(:key_auth, :string) add(:data, :map) timestamps() end create_if_not_exists(index("push_subscriptions", [:user_id, :token_id], unique: true)) end end