HHH-7797 - Inconsistent logic by uses of Dialect#supportsNotNullUnique Complete forced uniqueness to be defined by constraints through alter table statements. HHH-8092 - Configuration#generateSchemaUpdateScript does not create unique constraints Complete identified that this was not occurring on schema updates.
Since HHH-1904 - Identifier too long Complete resulted in non-explicitly-named constraint names using randomly-generated characters, checking for a constraint's existence prior to creating it on a schema update is not always possible. This leads to errors.
We cannot simply remove unique constraint generation on an update all-together. Instead, let's make it configurable. A property would select from the following:
1.) Update ignores all unique constraints
2.) Update attempts to (re-)create the unique constraints and ignores any errors (with warn log)
I'd argue that #2 would be the default.