Add UUID support for entity revisions

Created on 14 October 2012, about 12 years ago
Updated 4 October 2024, 3 months ago

The current UUID implementation for nodes doesn't support revision UUIDs. This means that when an entity supports revisions, those revisions can't be tracked across environments. There are situations where it is reasonable to expect to be able to update a revision of a node in one environment with the contents from another.

The UUID contrib module supports UUIDs for both the entity (and where supported) revisions. It would be good to see core support this in D8.

Adding the Revision UUID column as a not null required column poses a problem with setting the default values. Previously we've got around this problem by using initial or initial_from_field but that is a little trickier with UUID which need to be unique per row. We have two options:

  1. Use initial_from_field as is shown in #48 and then provide a UUID() function for each database layer.
  2. Solve #2346019: Handle initial values when creating a new field storage definition so that we can support many different schema migrations.
Feature request
Status

Needs work

Version

11.0 🔥

Component

entity system

Created by

🇦🇺Australia skwashd

Live updates comments and jobs are added and updated live.
  • Needs tests

    The change is currently missing an automated test that fails when run with the original code, and succeeds when the bug has been fixed.

  • Needs framework manager review

    It is used to alert the framework manager core committer(s) that an issue significantly impacts (or has the potential to impact) multiple subsystems or represents a significant change or addition in architecture or public APIs, and their signoff is needed (see the governance policy draft for more information). If an issue significantly impacts only one subsystem, use Needs subsystem maintainer review instead, and make sure the issue component is set to the correct subsystem.

Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇭🇺Hungary mxr576 Hungary

    Thank you for reporting this; turns out Paragraph entities do not have proper revisioning support: as Paragraph items are referenced not only by their entity ID, but also their revision ID, and revisions do not have UUIDs, there is no way to properly import references to Paragraphs' revisions. Because of that, even exporting Paragraph revisions is useless.

    Based on this comment in #3421812-9: Support exporting/importing revisions , Paragraphs and import/export solutions especially could also benefit from UUID support in revisioning.

Production build 0.71.5 2024