use of org.dbflute.helper.jdbc.sqlfile.DfSqlFileFireMan in project dbflute-core by dbflute.
the class DfCreateSchemaProcess method createSchema.
// ===================================================================================
// Create Schema
// =============
protected DfSqlFileFireResult createSchema(DfRunnerInformation runInfo) {
_log.info("");
_log.info("* * * * * * * * *");
_log.info("* *");
_log.info("* Create Schema *");
_log.info("* *");
_log.info("* * * * * * * * *");
final long before = System.currentTimeMillis();
final DfSqlFileFireMan fireMan = new DfSqlFileFireMan();
fireMan.setExecutorName("Create Schema");
final DfSqlFileFireResult result = fireMan.fire(getSqlFileRunner(runInfo), getReplaceSchemaSqlFileList());
destroyChangeUserConnection();
final long after = System.currentTimeMillis();
_createSchemaPerformanceView = DfTraceViewUtil.convertToPerformanceView(after - before);
return result;
}
use of org.dbflute.helper.jdbc.sqlfile.DfSqlFileFireMan in project dbflute-core by dbflute.
the class DfAlterCheckProcess method executeAlterSql.
// -----------------------------------------------------
// Alter Fire
// ----------
protected void executeAlterSql(DfAlterCheckFinalInfo finalInfo) {
List<File> alterSqlFileList = findMigrationAlterSqlFileList();
if (alterSqlFileList.isEmpty()) {
_unreleasedAlterAgent.restoreUnreleasedAlterSql();
alterSqlFileList = findMigrationAlterSqlFileList();
if (alterSqlFileList.isEmpty()) {
createEmptyAlterSqlFileIfNotExists();
alterSqlFileList = findMigrationAlterSqlFileList();
if (alterSqlFileList.isEmpty()) {
// no way
throwAlterCheckAlterSqlNotFoundException();
}
}
}
final DfRunnerInformation runInfo = createRunnerInformation();
final DfSqlFileFireMan fireMan = createSqlFileFireMan();
final DfSqlFileRunner runner = createSqlFileRunner(runInfo);
finalInfo.addAlterSqlFileAll(alterSqlFileList);
try {
final DfSqlFileFireResult result = fireMan.fire(runner, alterSqlFileList);
reflectAlterResultToFinalInfo(finalInfo, result);
} catch (DfTakeFinallyAssertionFailureException e) {
handleTakeFinallyAssertionFailureException(finalInfo, e);
}
}
use of org.dbflute.helper.jdbc.sqlfile.DfSqlFileFireMan in project dbflute-core by dbflute.
the class DfAlterCheckProcess method createSqlFileFireMan.
protected DfSqlFileFireMan createSqlFileFireMan() {
final String[] scriptExtAry = SystemScript.getSupportedExtList().toArray(new String[] {});
final SystemScript script = new SystemScript();
return new DfSqlFileFireMan() {
@Override
protected DfSqlFileRunnerResult processSqlFile(DfSqlFileRunner runner, File sqlFile) {
_executedAlterSqlFileList.add(sqlFile);
final String path = resolvePath(sqlFile);
if (!Srl.endsWith(path, scriptExtAry)) {
// SQL file
return super.processSqlFile(runner, sqlFile);
}
// script file
final String baseDir = Srl.substringLastFront(path, "/");
final String scriptName = Srl.substringLastRear(path, "/");
_log.info("...Executing the script: " + path);
final ProcessResult processResult;
try {
processResult = script.execute(new File(baseDir), scriptName);
} catch (SystemScriptUnsupportedScriptException ignored) {
_log.info("Skipped the script for system mismatch: " + scriptName);
return null;
}
final String console = processResult.getConsole();
if (Srl.is_NotNull_and_NotTrimmedEmpty(console)) {
_log.info("Catched the console for " + scriptName + ":" + ln() + console);
}
final DfSqlFileRunnerResult runnerResult = new DfSqlFileRunnerResult(sqlFile);
runnerResult.setTotalSqlCount(1);
final int exitCode = processResult.getExitCode();
if (exitCode != 0) {
final String msg = "The script failed: " + scriptName + " exitCode=" + exitCode;
final SQLException sqlEx = new DfAlterCheckAlterScriptSQLException(msg);
final String sqlExp = "(commands on the script)";
runnerResult.addErrorContinuedSql(sqlExp, sqlEx);
return runnerResult;
} else {
runnerResult.setGoodSqlCount(1);
return runnerResult;
}
}
};
}
use of org.dbflute.helper.jdbc.sqlfile.DfSqlFileFireMan in project dbflute-core by dbflute.
the class DfAlterCheckProcess method executeAlterSql.
// -----------------------------------------------------
// Alter Fire
// ----------
protected void executeAlterSql(DfAlterCheckFinalInfo finalInfo) {
List<File> alterSqlFileList = getMigrationAlterSqlFileList();
if (alterSqlFileList.isEmpty()) {
restoreLatestCheckedAlterSql();
alterSqlFileList = getMigrationAlterSqlFileList();
if (alterSqlFileList.isEmpty()) {
createEmptyAlterSqlFileIfNotExists();
alterSqlFileList = getMigrationAlterSqlFileList();
if (alterSqlFileList.isEmpty()) {
// no way
throwAlterCheckAlterSqlNotFoundException();
}
}
}
final DfRunnerInformation runInfo = createRunnerInformation();
final DfSqlFileFireMan fireMan = createSqlFileFireMan();
fireMan.setExecutorName("Alter Schema");
final DfSqlFileRunner runner = createSqlFileRunner(runInfo);
finalInfo.addAlterSqlFileAll(alterSqlFileList);
try {
final DfSqlFileFireResult result = fireMan.fire(runner, alterSqlFileList);
reflectAlterResultToFinalInfo(finalInfo, result);
} catch (DfTakeFinallyAssertionFailureException e) {
handleTakeFinallyAssertionFailureException(finalInfo, e);
}
}
use of org.dbflute.helper.jdbc.sqlfile.DfSqlFileFireMan in project dbflute-core by dbflute.
the class DfCraftDiffAssertSqlFire method fire.
// ===================================================================================
// SQL Fire
// ========
/**
* Fire the SQLs for assertion.
* @param tableList The list of table meta, e.g. to auto-generate SQL for table-equals. (NotNull)
*/
public void fire(List<DfTableMeta> tableList) {
final List<File> craftSqlFileList = getCraftSqlFileList();
if (craftSqlFileList.isEmpty()) {
return;
}
final DfRunnerInformation runInfo = createRunnerInformation();
final DfSqlFileFireMan fireMan = new DfSqlFileFireMan();
fireMan.setExecutorName("Craft Diff");
// result file is ignored because of break cause
final DfCraftDiffAssertProvider provider = createAssertProvider(tableList);
fireMan.fire(getSqlFileRunner4CraftDiff(runInfo, provider), craftSqlFileList);
}
Aggregations