String m_user; // db user
String m_pass; // db password
String m_buildNum; // build number (version)
+ boolean m_removeSchema; // purge DB schema
CFB(Locale locale) {
m_driver = new PostgresqlDriver();
m_pass = "";
m_user = "user";
m_buildNum = null;
+ m_removeSchema = false;
}
Options createOptions() {
opt.addOption("h", "host", true, "DB hostname");
opt.addOption("n", "number", true, "Build number (version)");
opt.addOption("p", "pass", true, "DB password");
+ opt.addOption("r", "remove", false, "Remove database schema (drop all data)");
opt.addOption("t", "port", true, "DB port");
opt.addOption("u", "user", true, "DB username");
if (line.hasOption("p")) {
m_pass = line.getOptionValue("p");
}
+ m_removeSchema = line.hasOption("r");
if (line.hasOption("t")) {
m_port = Integer.parseInt(line.getOptionValue("t"));
}
try (Connection con = m_driver.connect(m_host, m_port, m_dbName, m_user, m_pass)) {
m_schema.setMessageMap(messageMap);
+
+ if (m_removeSchema) {
+ m_schema.purge(con);
+ return;
+ }
m_schema.ensureDbInitialized(con);
}
catch (SQLException exc) {