Skip to content

Commit 09baefb

Browse files
committed
HHH-18406 Drop and recreate UserDefinedTypes for schema update as well
1 parent 6d3ee70 commit 09baefb

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

hibernate-core/src/main/java/org/hibernate/tool/schema/internal/AbstractSchemaMigrator.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@
5959
import static org.hibernate.internal.util.StringHelper.isEmpty;
6060
import static org.hibernate.tool.schema.UniqueConstraintSchemaUpdateStrategy.DROP_RECREATE_QUIETLY;
6161
import static org.hibernate.tool.schema.UniqueConstraintSchemaUpdateStrategy.SKIP;
62+
import static org.hibernate.tool.schema.internal.SchemaCreatorImpl.createUserDefinedTypes;
63+
import static org.hibernate.tool.schema.internal.SchemaDropperImpl.dropUserDefinedTypes;
6264

6365
/**
6466
* Base implementation of {@link SchemaMigrator}.
@@ -195,6 +197,9 @@ private void performMigration(
195197
}
196198
}
197199

200+
// Drop all UDTs
201+
dropUserDefinedTypes( metadata, options, schemaFilter, dialect, formatter, sqlGenerationContext, targets );
202+
198203
// Create before-table AuxiliaryDatabaseObjects
199204
for ( AuxiliaryDatabaseObject auxiliaryDatabaseObject : database.getAuxiliaryDatabaseObjects() ) {
200205
if ( auxiliaryDatabaseObject.beforeTablesOnCreation()
@@ -209,6 +214,9 @@ private void performMigration(
209214
}
210215
}
211216

217+
// Recreate all UDTs
218+
createUserDefinedTypes( metadata, options, schemaFilter, dialect, formatter, sqlGenerationContext, targets );
219+
212220
boolean tryToCreateCatalogs = false;
213221
boolean tryToCreateSchemas = false;
214222
if ( options.shouldManageNamespaces() ) {

hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaCreatorImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ private static void createAuxiliaryObjectsBeforeTables(
497497
}
498498
}
499499

500-
private static void createUserDefinedTypes(
500+
static void createUserDefinedTypes(
501501
Metadata metadata,
502502
ExecutionOptions options,
503503
SchemaFilter schemaFilter,

hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaDropperImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ private static void dropTables(
391391
}
392392
}
393393

394-
private static void dropUserDefinedTypes(
394+
static void dropUserDefinedTypes(
395395
Metadata metadata,
396396
ExecutionOptions options,
397397
SchemaFilter schemaFilter,

0 commit comments

Comments
 (0)