|
60 | 60 | import static org.hibernate.cfg.AvailableSettings.HBM2DDL_IMPORT_FILES;
|
61 | 61 | import static org.hibernate.cfg.AvailableSettings.HBM2DDL_LOAD_SCRIPT_SOURCE;
|
62 | 62 | import static org.hibernate.cfg.AvailableSettings.JAKARTA_HBM2DDL_LOAD_SCRIPT_SOURCE;
|
| 63 | +import static org.hibernate.cfg.SchemaToolingSettings.HBM2DDL_SKIP_DEFAULT_IMPORT_FILE; |
63 | 64 | import static org.hibernate.internal.util.collections.CollectionHelper.setOfSize;
|
| 65 | +import static org.hibernate.internal.util.config.ConfigurationHelper.getBoolean; |
64 | 66 | import static org.hibernate.internal.util.config.ConfigurationHelper.getString;
|
65 | 67 | import static org.hibernate.tool.schema.internal.Helper.applyScript;
|
66 | 68 | import static org.hibernate.tool.schema.internal.Helper.applySqlStrings;
|
@@ -597,11 +599,24 @@ private void applyImportSources(
|
597 | 599 | commandExtractor,
|
598 | 600 | dialect,
|
599 | 601 | formatter,
|
600 |
| - hasDefaultImportFileScriptBeenExecuted ? "" : DEFAULT_IMPORT_FILE, |
| 602 | + hasDefaultImportFileScriptBeenExecuted ? "" : getDefaultImportFile( options ), |
601 | 603 | targets
|
602 | 604 | );
|
603 | 605 | }
|
604 | 606 |
|
| 607 | + private String getDefaultImportFile(ExecutionOptions options) { |
| 608 | + if ( skipDefaultFileImport( options ) ) { |
| 609 | + return ""; |
| 610 | + } |
| 611 | + else { |
| 612 | + return DEFAULT_IMPORT_FILE; |
| 613 | + } |
| 614 | + } |
| 615 | + |
| 616 | + private static boolean skipDefaultFileImport(ExecutionOptions options) { |
| 617 | + return getBoolean( HBM2DDL_SKIP_DEFAULT_IMPORT_FILE, options.getConfigurationValues(), false ); |
| 618 | + } |
| 619 | + |
605 | 620 | /**
|
606 | 621 | * In principle, we should format the commands in the import script if the
|
607 | 622 | * {@code format} parameter is {@code true}, and since it's supposed to be
|
@@ -642,16 +657,19 @@ private boolean applyImportScript(
|
642 | 657 | formatter,
|
643 | 658 | targets
|
644 | 659 | );
|
645 |
| - return containsDefaultImportFile( importScriptInput ); |
| 660 | + return containsDefaultImportFile( importScriptInput, options ); |
646 | 661 | }
|
647 | 662 | else {
|
648 | 663 | return false;
|
649 | 664 | }
|
650 | 665 | }
|
651 | 666 |
|
652 |
| - private boolean containsDefaultImportFile(ScriptSourceInput importScriptInput) { |
| 667 | + private boolean containsDefaultImportFile(ScriptSourceInput importScriptInput,ExecutionOptions options ) { |
| 668 | + if ( skipDefaultFileImport( options ) ) { |
| 669 | + return false; |
| 670 | + } |
653 | 671 | final URL defaultImportFileUrl = getClassLoaderService().locateResource( DEFAULT_IMPORT_FILE );
|
654 |
| - return defaultImportFileUrl != null && importScriptInput.containsScript(defaultImportFileUrl); |
| 672 | + return defaultImportFileUrl != null && importScriptInput.containsScript( defaultImportFileUrl ); |
655 | 673 | }
|
656 | 674 |
|
657 | 675 | /**
|
|
0 commit comments