Skip to content

Database layout

Compound values occupy columns in the host field's current and revision tables, such as node__field_speakers and node_revision__field_speakers. Each row identifies a host entity, language and outer delta; revision rows also identify the historical revision.

Outer delta Name Topic slot 0 Topic slot 1 Topic slot 2
0 Ada Lovelace Computing history Analytical engines NULL
1 Grace Hopper Compilers NULL NULL

Direct string sub-fields produce schema keys such as name__value, topic__value, topic__value_1 and topic__value_2. Drupal's table mapping adds the host field prefix. References use properties such as target_id.

Unlimited outer cardinality adds rows. Raising a sub-field cap adds nullable column sets; slot zero has no suffix. Saving compacts values into dense slots. Nested compounds multiply these columns. The budget guard refuses schemas beyond InnoDB's column and row-size limits.

Long nested names use derived identifiers. Resolve physical columns through the schema and Drupal's table mapping instead of constructing names yourself. Use nested sub-field paths in the Field API and wire format.

Dropping columns removes historical values too. Compound items have no independent revision storage. Follow the deployment guide for schema changes.