/** * Specify that all failures which occur while executing SQL scripts should * be logged but should not cause a failure. * <p>Defaults to {@code false}. * @param flag {@code true} if script execution should continue on error * @return {@code this}, to facilitate method chaining * @since 4.0.3 */ public EmbeddedDatabaseBuilder continueOnError(boolean flag) { this.databasePopulator.setContinueOnError(flag); return this; }
@Bean @Autowired public DatabasePopulator databasePopulator() { final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setContinueOnError(false); populator.addScript(new ClassPathResource("products.sql")); return populator; }
@PostConstruct protected void initialize() { ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.addScript(resourceLoader.getResource(environment.getProperty("batch.schema.script"))); populator.setContinueOnError(true); DatabasePopulatorUtils.execute(populator , dataSource()); }
@Override public void migrate(Connection connection) throws Exception { if ("sqlserver".equals(type) || "hsqldb".equals(type)) { //we don't have this problem with sqlserver or in memory DB logger.info("Skipping 4.0.4 migration for " + type + ", not affected by 3.9.9 back ports."); return; } ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); SingleConnectionDataSource dataSource = new SingleConnectionDataSource(connection, true); JdbcTemplate template = new JdbcTemplate(dataSource); boolean run = false; for (Map.Entry<String, String> script : getScripts()) { int count = template.queryForObject(checkExistsSql, Integer.class, script.getKey()); if (count == 0) { String path = "org/cloudfoundry/identity/uaa/db/" + type + "/" + script.getValue(); logger.info(String.format("[4.0.4] Adding script for version %s with path %s", script.getKey(), path)); populator.addScript(new ClassPathResource(path)); run = true; } } if (run) { logger.info("Running missing migrations."); populator.setContinueOnError(false); populator.setIgnoreFailedDrops(true); populator.populate(connection); logger.info("Completed missing migrations."); } else { logger.info("Skipping 4.0.4 migrations, no migrations missing."); } }
@Override public void migrate(Connection connection) throws Exception { ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.addScript(new ClassPathResource("org/cloudfoundry/identity/uaa/db/" + type + "/V1_5_2__initial_db.sql")); populator.setContinueOnError(true); populator.setIgnoreFailedDrops(true); populator.populate(connection); } }
private DatabasePopulator databasePopulator() throws IOException { ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator(); resourceDatabasePopulator.setContinueOnError(false); resourceDatabasePopulator.addScripts( new PathMatchingResourcePatternResolver().getResources("classpath:/h2/*.sql") ); return resourceDatabasePopulator; }
@PostConstruct protected void initialize() { if (!isEnabled()) { return; } ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); String schemaLocation = getSchemaLocation(); if (schemaLocation.contains(PLATFORM_PLACEHOLDER)) { String platform = getDatabaseName(); schemaLocation = schemaLocation.replace(PLATFORM_PLACEHOLDER, platform); } populator.addScript(this.resourceLoader.getResource(schemaLocation)); populator.setContinueOnError(true); customize(populator); DatabasePopulatorUtils.execute(populator, this.dataSource); }
populator.setBlockCommentStartDelimiter(mergedSqlConfig.getBlockCommentStartDelimiter()); populator.setBlockCommentEndDelimiter(mergedSqlConfig.getBlockCommentEndDelimiter()); populator.setContinueOnError(mergedSqlConfig.getErrorMode() == ErrorMode.CONTINUE_ON_ERROR); populator.setIgnoreFailedDrops(mergedSqlConfig.getErrorMode() == ErrorMode.IGNORE_FAILED_DROPS);
@PostConstruct protected void initialize() { ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.addScript(resourceLoader.getResource(ClassUtils.addResourcePathToPackagePath(Step.class, "schema-hsqldb.sql"))); populator.setContinueOnError(true); DatabasePopulatorUtils.execute(populator, dataSource()); }
/** * Specify that all failures which occur while executing SQL scripts should * be logged but should not cause a failure. * <p>Defaults to {@code false}. * @param flag {@code true} if script execution should continue on error * @return {@code this}, to facilitate method chaining * @since 4.0.3 */ public EmbeddedDatabaseBuilder continueOnError(boolean flag) { this.databasePopulator.setContinueOnError(flag); return this; }
databasePopulator.setContinueOnError(true); databasePopulator.addScript(new ClassPathResource("schema.sql")); return databasePopulator;
@PostConstruct public void initializeData(){ ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.addScript(resourceLoader.getResource("classpath:sample-schema.sql")); populator.setContinueOnError(true); DatabasePopulatorUtils.execute(populator, dataSource); }
@PostConstruct public void initializeData(){ ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.addScript(resourceLoader.getResource("classpath:sample-schema.sql")); populator.setContinueOnError(true); DatabasePopulatorUtils.execute(populator, dataSource); }
schemaLocation = schemaLocation.replace("@@platform@@", platform); populator.addScript(resourceLoader.getResource(schemaLocation)); populator.setContinueOnError(true); logger.debug(String.format("Initializing task schema for %s database", platform));
schemaLocation = schemaLocation.replace("@@platform@@", platform); populator.addScript(resourceLoader.getResource(schemaLocation)); populator.setContinueOnError(true); logger.debug(String.format("Initializing task schema for %s database", platform));
/** * @param sqlFile the sql file to execute * @param shouldContinueOnError * @throws IOException */ protected void executeSQLResource(final String sqlFile, boolean shouldContinueOnError) throws IOException, SQLException { final Resource sqlResource = getSQLResource(sqlFolder, sqlFile); ResourceDatabasePopulator populate = new ResourceDatabasePopulator(); populate.setContinueOnError(shouldContinueOnError); populate.setIgnoreFailedDrops(true); populate.addScript(sqlResource); populate.setSeparator(getSeparator()); populate.execute(datasource); logger.info("Executed SQL script " + sqlResource.getURL().getFile()); }
@Override protected void initialize() throws DataAccessException { super.initialize(); if (enabled) { String platform; try { platform = DatabaseType.fromMetaData(dataSource).toString().toLowerCase(); if ("hsql".equals(platform)) platform = "hsqldb"; if ("postgres".equals(platform)) platform = "postgresql"; ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.addScript(resourceLoader.getResource(REGISTRY_SCHEMA_LOCATION.replace("@@platform@@", platform))); populator.setContinueOnError(true); DatabasePopulatorUtils.execute(populator, dataSource); } catch (MetaDataAccessException e) { // @PostConstruct is not supposed to throw checked exceptions throw new DataRetrievalFailureException("Could not retrieve ", e); } } } }
/** * @param sqlFile the sql file to execute * @param shouldContinueOnError * @throws IOException */ protected void executeSQLResource(final String sqlFile, boolean shouldContinueOnError) throws IOException, SQLException { final Resource sqlResource = getSQLResource(sqlFolder, sqlFile); ResourceDatabasePopulator populate = new ResourceDatabasePopulator(); populate.setContinueOnError(shouldContinueOnError); populate.setIgnoreFailedDrops(true); populate.addScript(sqlResource); populate.setSeparator(getSeparator()); populate.execute(datasource); logger.info("Executed SQL script " + sqlResource.getURL().getFile()); }
private void runScripts(List<Resource> resources, DataSource dataSource, DataSourceProperties dataSourceProperties) { if (resources.isEmpty()) { return; } ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setContinueOnError(dataSourceProperties.isContinueOnError()); populator.setSeparator(dataSourceProperties.getSeparator()); if (dataSourceProperties.getSqlScriptEncoding() != null) { populator.setSqlScriptEncoding(dataSourceProperties.getSqlScriptEncoding().name()); } for (Resource resource : resources) { populator.addScript(resource); } DatabasePopulatorUtils.execute(populator, dataSource); }
private void runScripts(List<Resource> resources, DataSource dataSource) { if (resources.isEmpty()) { return; } ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.setContinueOnError(configuration.isContinueOnError()); populator.setSeparator(configuration.getConfigPropertyValue(SpringDataSourceConfigProperties.SEPARATOR, ";")); String encoding = configuration.getConfigPropertyValue(SpringDataSourceConfigProperties.SQL_SCRIPT_ENCODING, null); if (encoding != null) { populator.setSqlScriptEncoding(encoding); } for (Resource resource : resources) { populator.addScript(resource); } DatabasePopulatorUtils.execute(populator, dataSource); }