use of org.hibernate.tool.schema.internal.exec.JdbcContext in project hibernate-orm by hibernate.
the class SchemaCreatorImpl method doCreation.
@Override
public void doCreation(Metadata metadata, ExecutionOptions options, SourceDescriptor sourceDescriptor, TargetDescriptor targetDescriptor) {
if (targetDescriptor.getTargetTypes().isEmpty()) {
return;
}
final JdbcContext jdbcContext = tool.resolveJdbcContext(options.getConfigurationValues());
final GenerationTarget[] targets = tool.buildGenerationTargets(targetDescriptor, jdbcContext, options.getConfigurationValues(), true);
doCreation(metadata, jdbcContext.getDialect(), options, sourceDescriptor, targets);
}
use of org.hibernate.tool.schema.internal.exec.JdbcContext in project hibernate-orm by hibernate.
the class SchemaDropperImpl method doDrop.
/**
* For tests
*/
public void doDrop(Metadata metadata, final ServiceRegistry serviceRegistry, final Map settings, final boolean manageNamespaces, GenerationTarget... targets) {
if (targets == null || targets.length == 0) {
final JdbcContext jdbcContext = tool.resolveJdbcContext(settings);
targets = new GenerationTarget[] { new GenerationTargetToDatabase(serviceRegistry.getService(TransactionCoordinatorBuilder.class).buildDdlTransactionIsolator(jdbcContext), true) };
}
doDrop(metadata, new ExecutionOptions() {
@Override
public boolean shouldManageNamespaces() {
return manageNamespaces;
}
@Override
public Map getConfigurationValues() {
return settings;
}
@Override
public ExceptionHandler getExceptionHandler() {
return ExceptionHandlerLoggedImpl.INSTANCE;
}
}, serviceRegistry.getService(JdbcEnvironment.class).getDialect(), new SourceDescriptor() {
@Override
public SourceType getSourceType() {
return SourceType.METADATA;
}
@Override
public ScriptSourceInput getScriptSourceInput() {
return null;
}
}, targets);
}
use of org.hibernate.tool.schema.internal.exec.JdbcContext in project hibernate-orm by hibernate.
the class AbstractSchemaMigrator method doMigration.
@Override
public void doMigration(Metadata metadata, ExecutionOptions options, TargetDescriptor targetDescriptor) {
if (!targetDescriptor.getTargetTypes().isEmpty()) {
final JdbcContext jdbcContext = tool.resolveJdbcContext(options.getConfigurationValues());
final DdlTransactionIsolator ddlTransactionIsolator = tool.getDdlTransactionIsolator(jdbcContext);
try {
final DatabaseInformation databaseInformation = Helper.buildDatabaseInformation(tool.getServiceRegistry(), ddlTransactionIsolator, metadata.getDatabase().getDefaultNamespace().getName());
final GenerationTarget[] targets = tool.buildGenerationTargets(targetDescriptor, ddlTransactionIsolator, options.getConfigurationValues());
try {
for (GenerationTarget target : targets) {
target.prepare();
}
try {
performMigration(metadata, databaseInformation, options, jdbcContext.getDialect(), targets);
} finally {
for (GenerationTarget target : targets) {
try {
target.release();
} catch (Exception e) {
log.debugf("Problem releasing GenerationTarget [%s] : %s", target, e.getMessage());
}
}
}
} finally {
try {
databaseInformation.cleanup();
} catch (Exception e) {
log.debug("Problem releasing DatabaseInformation : " + e.getMessage());
}
}
} finally {
ddlTransactionIsolator.release();
}
}
}
use of org.hibernate.tool.schema.internal.exec.JdbcContext in project hibernate-orm by hibernate.
the class AbstractSchemaValidator method doValidation.
@Override
public void doValidation(Metadata metadata, ExecutionOptions options) {
final JdbcContext jdbcContext = tool.resolveJdbcContext(options.getConfigurationValues());
final DdlTransactionIsolator isolator = tool.getDdlTransactionIsolator(jdbcContext);
final DatabaseInformation databaseInformation = Helper.buildDatabaseInformation(tool.getServiceRegistry(), isolator, metadata.getDatabase().getDefaultNamespace().getName());
try {
performValidation(metadata, databaseInformation, options, jdbcContext.getDialect());
} finally {
try {
databaseInformation.cleanup();
} catch (Exception e) {
log.debug("Problem releasing DatabaseInformation : " + e.getMessage());
}
isolator.release();
}
}
use of org.hibernate.tool.schema.internal.exec.JdbcContext in project hibernate-orm by hibernate.
the class SchemaDropperImpl method doDrop.
@Override
public void doDrop(Metadata metadata, ExecutionOptions options, SourceDescriptor sourceDescriptor, TargetDescriptor targetDescriptor) {
if (targetDescriptor.getTargetTypes().isEmpty()) {
return;
}
final JdbcContext jdbcContext = tool.resolveJdbcContext(options.getConfigurationValues());
final GenerationTarget[] targets = tool.buildGenerationTargets(targetDescriptor, jdbcContext, options.getConfigurationValues(), true);
doDrop(metadata, options, jdbcContext.getDialect(), sourceDescriptor, targets);
}
Aggregations