I installed the Rabbit Hole module in Drupal 9. I was immediately greeted with this message on the status page:
Mismatched entity and/or field definitions
The following changes were detected in the entity type and field definitions.
User
The Rabbit Hole action field needs to be installed.
The Rabbit Hole redirect path. field needs to be installed.
The Rabbit Hole redirect response code field needs to be installed.
The Rabbit Hole redirect fallback action field needs to be installed.
Everyone seems to say run devel entity-updates, but that module page itself says:
The goal of this module is to have a quick way to apply schema updates
while developing new entity types and ending up incrementally
adding/removing/changing entity type/field definitions.
When these changes are part of an official release (and not in the
scope of a code development session), they should absolutely rely on
DB update functions, as explained in the CR above, because that's the
only way the entity schema update process can be predictable and
reliable.
For this reason, this module depends on Devel and is not meant to be
enabled in production environments or relied upon in deployment
workflows, see #3082442: Why not meant to be enabled in production
environments? for more details.
So, it should not be used or ran in production? Running it locally produces no visible change to configuration exports. So how would you get this done on a production database?
Instead, people say these updates should occur in an update hook. What does that mean? Is this burden on the developer or the user to do? I have seen this from time to time with contributed modules, and do not understand if devel entity-updates will "fix" (correctly fix) this issue, or if there is a concrete way to do this change.