Problem/Motivation
Since
EntityOwnerTrait can be used as a default implementation of EntityOwnerInterface →
the owner can't be NULL anymore for media entities.
Therefore if you cancel a user you can't edit a media entity that was own by this user. The following error is thrown:
Drupal\Core\Entity\EntityStorageException: SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "uid" violates not-null constraint DETAIL: Failing row contains (188, 241, image, nl, 1, building-buildings-busy-297743_0.jpg, 442, car, null, 1000, 667, null, 1558535344, 1563353147, 1, 1).: INSERT INTO drupal_webshop_nl.media_field_data (mid, vid, bundle, langcode, status, name, thumbnail__target_id, thumbnail__alt, thumbnail__title, thumbnail__width, thumbnail__height, uid, created, changed, default_langcode, revision_translation_affected) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15); Array ( ) in Drupal\Core\Entity\Sql\SqlContentEntityStorage->save() (line 847 of /var/www/html/src/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php).
(Captain Obvious Note: When updating the media entity if you add an owner no errors are thrown.)
I open this issue for people who need a temporary solution.
The issue
✨
Provide a Entity Handler for user cancelation
Needs work
try to find a generic solution and could take a while.
Proposed resolution
The first proposed solution is a no-brainer: copy/paste what is done for node.
Remaining tasks
Find a quick win better than copy/paste while waiting for
✨
Provide a Entity Handler for user cancelation
Needs work
.
User interface changes
None
API changes
None
Data model changes
Media entities updated correctly on user cancel.