}
CommandLineUtils.doGenerateChangeLog(changeLogFile, database, finalSchemas, StringUtils.trimToNull(diffTypes), StringUtils.trimToNull(changeSetAuthor), StringUtils.trimToNull(changeSetContext), StringUtils.trimToNull(dataOutputDirectory), diffOutputControl);
return;
} else if ("snapshot".equalsIgnoreCase(command)) {
SnapshotCommand command = new SnapshotCommand();
command.setDatabase(database);
command.setSchemas(getCommandParam("schemas", database.getDefaultSchema().getSchemaName()));
System.out.println(command.execute());
return;
} else if ("executeSql".equalsIgnoreCase(command)) {
ExecuteSqlCommand command = new ExecuteSqlCommand();
command.setDatabase(database);
command.setSql(getCommandParam("sql", null));
command.setSqlFile(getCommandParam("sqlFile", null));
System.out.println(command.execute());
return;
} else if ("snapshotReference".equalsIgnoreCase(command)) {
SnapshotCommand command = new SnapshotCommand();
Database referenceDatabase = createReferenceDatabaseFromCommandParams(commandParams);
command.setDatabase(referenceDatabase);
command.setSchemas(getCommandParam("schemas", referenceDatabase.getDefaultSchema().getSchemaName()));
System.out.println(command.execute());
return;
}
Liquibase liquibase = new Liquibase(changeLogFile, fileOpener, database);