X-Git-Url: http://jaekl.net/gitweb/?p=cfb.git;a=blobdiff_plain;f=prod%2Fnet%2Fjaekl%2Fcfb%2FCFB.java;h=924d33182d28c4824207b6fde0712d4362d6d6b7;hp=f229ce1d7eae767674bfdb268ec9f377a55c4767;hb=58107a0cbb49652e7772ce80fb73d2c027590eb1;hpb=083fb5094456d37fa4765400a461625635fbf77d diff --git a/prod/net/jaekl/cfb/CFB.java b/prod/net/jaekl/cfb/CFB.java index f229ce1..924d331 100644 --- a/prod/net/jaekl/cfb/CFB.java +++ b/prod/net/jaekl/cfb/CFB.java @@ -47,6 +47,7 @@ public class CFB { 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(); @@ -62,6 +63,7 @@ public class CFB { m_pass = ""; m_user = "user"; m_buildNum = null; + m_removeSchema = false; } Options createOptions() { @@ -72,6 +74,7 @@ public class CFB { 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"); @@ -98,6 +101,7 @@ public class CFB { 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")); } @@ -160,6 +164,11 @@ public class CFB { 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) {