Problem
- Trying to swap out an entity type implementation. (FWIW, User)
- I can easily swap out the entity type's storage controller (entirely).
- But the entire entity system and default DatabaseStorageController is still based on
hook_schema()
column definitions...? - I'm stuck in determining what actually needs to be swapped out and/or altered — but
hook_schema_alter()
totally feels like an alien in D8.
Proposed solution
- Declare the database schema columns of an entity type in its storage controller (or entity info).
- Remove entity info's dependency on
hook_schema()
(entirely).