fix: handle original data not available in destroy_query

This commit is contained in:
Zach Daniel 2024-02-12 10:08:48 -05:00
parent 03b630396c
commit 930d16a5e9

View file

@ -1329,7 +1329,13 @@ defmodule AshPostgres.DataLayer do
@impl true @impl true
def destroy_query(query, changeset, resource, options) do def destroy_query(query, changeset, resource, options) do
ecto_changeset = ecto_changeset =
changeset.data case changeset.data do
%Ash.Changeset.OriginalDataNotAvailable{} ->
changeset.resource.__struct__
data ->
data
end
|> Map.update!(:__meta__, &Map.put(&1, :source, table(resource, changeset))) |> Map.update!(:__meta__, &Map.put(&1, :source, table(resource, changeset)))
|> ecto_changeset(changeset, :update, true, true) |> ecto_changeset(changeset, :update, true, true)