upsertGraph: allow marking individual models in graph to be unrelated or deleted #2410
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ported from ovos#14
NOTE: I am afraid this PR is not ready to be merged yet, as much as it has proven to be very useful for our use cases, a new section in documentation still needs to be added for this new feature.
Maybe someone would be willing to continue with it, 😊 as I don't have too much time on my hands currently to do it myself.
upsertGraph: allow marking individual models in graph to be unrelated or deleted with
#unrelate
or#delete
(prop names configurable withModel.graphUnrelateProp
andModel.graphDeleteProp
)which override
GraphOptions
i.e. even ifnoDelete
ornoUnrelate
is set, specific models marked with those special props can still be unrelated/deleted. This allows partial unrelate/deletes to HasMany and ManyToMany relations without the need of passing the whole list of existing models which should be preserved.Example: