Updated: Comment #60
In Drupal 8 we introduced the concept of base fields which are "full blown" fields, but their schema is still hardcoded in
hook_schema() implementations of their entity types. If we want to be able to auto-generate the entity base tables for multilingual and performance purposes (don't create revision tables if the entity type is not revisionable), we need an API to retrieve the schema for base fields.
--> This task is a blocker for.
More generally, we want to get rid of the separation between 'field types that can be used for base fields" & "fields types that can be used for configurable fields" - we have one unique notion of "field type", but we still have sub-interfaces for "field types that can be used for configurable fields". This is another step in that direction.
Make all field types provide a schema(), and clarify the relation between the schema and the "property definitions" and the respective ways to access them.
User interface changes
- The schema definition method
ConfigFieldItemInterface::schema()moves up a level to
FieldItemInterface::schema(), making it a requirement for all field types (configurable + base fields)
FieldDefinitionthe authoritative way of getting the schema for a field type
PASSED: [[SimpleTest]]: [MySQL] 59,345 pass(es).
[ View ]
PASSED: [[SimpleTest]]: [MySQL] 59,305 pass(es).
[ View ]