Manage_relationship calls are not satisfying "allow_nil? false"
Opened this issue · 1 comments
Describe the bug
Manage_relationship calls are not satisfying allow_nil? false
in AshAdmin
OR
an issue assigning an argument / attribute to a relationship's "Attribute Defaults" (without assigning a "source_attribute").
OR
both
To Reproduce
Use the attached Livebook (remove the .txt extension)
AshAdminRelationshipIssue.livemd.txt
If I create the changeset by hand everything executes fine. (As seen in the livebook)
Recreate these resources in an ash admin webpage, attempt to add a family_id to a person using the create action.
NOTE: The livebook is running ETS as the data layer but I am using Postgres in the project. ( I can provide the config is needed )
Expected behavior
Adding A family_id when creating a person generates no errors and the 'person' resource is created without issue.
Runtime
- Elixir version 1.16.2
- Erlang version OTP 26
- OS macOS 14.5 (M1 Macbook Pro)
- Ash version 0.11.0
- any related extension versions
{:phoenix, "~> 1.7.12"},
{:phoenix_ecto, "~> 4.4"},
{:ecto_sql, "~> 3.10"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 4.0"},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:phoenix_live_view, "~> 0.20.2"},
{:floki, ">= 0.30.0", only: :test},
{:phoenix_live_dashboard, "~> 0.8.3"},
{:esbuild, "~> 0.8", runtime: Mix.env() == :dev},
{:tailwind, "~> 0.2", runtime: Mix.env() == :dev},
{:heroicons,
github: "tailwindlabs/heroicons",
tag: "v2.1.1",
sparse: "optimized",
app: false,
compile: false,
depth: 1},
{:swoosh, "~> 1.5"},
{:finch, "~> 0.13"},
{:telemetry_metrics, "~> 1.0"},
{:telemetry_poller, "~> 1.0"},
{:gettext, "~> 0.20"},
{:jason, "~> 1.2"},
{:dns_cluster, "~> 0.1.1"},
{:bandit, "~> 1.2"},
{:ash, "~> 3.0"},
{:picosat_elixir, "~> 0.2.3"},
{:ash_postgres, "~> 2.0"},
{:ash_phoenix, "~> 2.0"},
{:ash_admin, "~> 0.11.0"}
Given that there are workarounds for this, I'm going to put this in the "soon" category of the roadmap and mark it as a good first issue :)