mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-17 16:44:57 +00:00
HHH-10180 - Fix hbm2ddl tools cannot generate create/update script not modifying the database
This commit is contained in:
parent
9b34880baf
commit
fa7fcf5b95
@ -177,11 +177,7 @@ protected void doMigrationToTargets(
|
||||
}
|
||||
|
||||
final TableInformation tableInformation = existingDatabase.getTableInformation( table.getQualifiedTableName() );
|
||||
if ( tableInformation == null ) {
|
||||
// big problem...
|
||||
throw new SchemaManagementException( "BIG PROBLEM" );
|
||||
}
|
||||
if ( !tableInformation.isPhysicalTable() ) {
|
||||
if ( tableInformation != null && !tableInformation.isPhysicalTable() ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -267,9 +263,11 @@ private void applyIndexes(Table table, TableInformation tableInformation, Metada
|
||||
continue;
|
||||
}
|
||||
|
||||
final IndexInformation existingIndex = findMatchingIndex( index, tableInformation );
|
||||
if ( existingIndex != null ) {
|
||||
continue;
|
||||
if ( tableInformation != null ) {
|
||||
final IndexInformation existingIndex = findMatchingIndex( index, tableInformation );
|
||||
if ( existingIndex != null ) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
applySqlStrings(
|
||||
@ -364,19 +362,22 @@ private void applyForeignKeys(
|
||||
continue;
|
||||
}
|
||||
|
||||
final ForeignKeyInformation existingForeignKey = findMatchingForeignKey( foreignKey, tableInformation );
|
||||
if ( tableInformation != null ) {
|
||||
final ForeignKeyInformation existingForeignKey = findMatchingForeignKey( foreignKey, tableInformation );
|
||||
if ( existingForeignKey != null ) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// todo : shouldn't we just drop+recreate if FK exists?
|
||||
// this follows the existing code from legacy SchemaUpdate which just skipped
|
||||
|
||||
if ( existingForeignKey == null ) {
|
||||
// in old SchemaUpdate code, this was the trigger to "create"
|
||||
applySqlStrings(
|
||||
exporter.getSqlCreateStrings( foreignKey, metadata ),
|
||||
targets,
|
||||
false
|
||||
);
|
||||
}
|
||||
// in old SchemaUpdate code, this was the trigger to "create"
|
||||
applySqlStrings(
|
||||
exporter.getSqlCreateStrings( foreignKey, metadata ),
|
||||
targets,
|
||||
false
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user