|
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