ash-project/ash

Many to many and on match destroy in `manage_relationship`

已关闭

#859 创建于 2024年1月30日

 (2 条评论) (1 个反应) (0 位负责人)Elixir (389 个派生)batch import
buggood first issue

仓库指标

星标
 (2,412 个星标)
PR 合并指标
 (平均合并 6天 6小时) (30 天内合并 26 个 PR)

描述

I think on_match: :destroy in manage_relationship is incorrect for many_to_many.

Right now it destroys a join resource. Instead it should destroy both a join and a destination like other types of relationships do.

If one wants to destroy only a join resource then they should use :unrelate.

Destroy is implemented correctly for on_missing where :destroy destroys both and :unrelate only join one. (Though there is a mistake in documentation that states that it is possible to pass [:join, :keys] with a long form.) That's the only other case with support for :destroy so it is strange that they are inconsistent.

贡献者指南