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:
- Use
initial_from_field
as is shown in #48 and then provide a UUID() function for each database layer. - Solve #2346019: [PP-1] Handle initial values when creating a new field storage definition so that we can support many different schema migrations.