Entity Reference Purger configuration

Entity Reference Purger removes orphaned (dangling) entity references when an entity is deleted.

Problem/Motivation

Entity reference field items are not removed when the referenced entity is deleted.

E.g.

  1. Create taxonomy term "dogs" (tid: 1).
  2. Create taxonomy term "cats" (tid: 2).
  3. Create node "Animals" with references to terms dogs & cats.
  4. Delete the "dogs" term. Node "Animals" will still have reference to term "dogs" even though there is no longer such a term.

This is not a problem if you are using Drupal UI or you are not validating entities before saving (programmatically). Some examples where it can cause problems:

  • Validation errors when using $entity->validate()
  • Search facets with an incorrect count of results.
  • Cryptic error messages when editing entities that contain collapsed Paragraphs.
  • Null fields in GraphQL results (which is invalid GraphQL).
  • ...

How this module works

This module will automatically remove all orphaned (dangling) entity references from parent entities on child entity delete. All you need to do is to enable this option in the entity reference field settings. To handle performance issues on huge systems with tens of thousands (or more) dangling references using "Queue option" is recommended.

Studio Present

Supporting organizations: 
allocated time for development.

Project information

Releases