Skip to content

Commit 2cb3d3d

Browse files
committed
HHH-18406 Drop and recreate UserDefinedTypes for schema update as well
1 parent 38aad01 commit 2cb3d3d

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}.
@@ -202,6 +204,9 @@ private void performMigration(
202204
}
203205
}
204206

207+
// Drop all UDTs
208+
dropUserDefinedTypes( metadata, options, schemaFilter, dialect, formatter, sqlGenerationContext, targets );
209+
205210
// Create before-table AuxiliaryDatabaseObjects
206211
for ( AuxiliaryDatabaseObject auxiliaryDatabaseObject : database.getAuxiliaryDatabaseObjects() ) {
207212
if ( auxiliaryDatabaseObject.beforeTablesOnCreation()
@@ -216,6 +221,9 @@ private void performMigration(
216221
}
217222
}
218223

224+
// Recreate all UDTs
225+
createUserDefinedTypes( metadata, options, schemaFilter, dialect, formatter, sqlGenerationContext, targets );
226+
219227
boolean tryToCreateCatalogs = false;
220228
boolean tryToCreateSchemas = false;
221229
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
@@ -388,7 +388,7 @@ private static void dropTables(
388388
}
389389
}
390390

391-
private static void dropUserDefinedTypes(
391+
static void dropUserDefinedTypes(
392392
Metadata metadata,
393393
ExecutionOptions options,
394394
SchemaFilter schemaFilter,

0 commit comments

Comments
 (0)