X-Git-Url: http://jaekl.net/gitweb/?p=cfb.git;a=blobdiff_plain;f=prod%2Fnet%2Fjaekl%2Fcfb%2Fdb%2FSchema.java;h=f802b58ca3cf71f89f7b5ef6c8b0f57c95382c66;hp=b6dc6012fc6d720ded5ecae5383c7943e4558afe;hb=3c10b6100c6035a65ce37dea846b027135289f67;hpb=88c635ae6a039a873cba2d794c55d726dcdc616d diff --git a/prod/net/jaekl/cfb/db/Schema.java b/prod/net/jaekl/cfb/db/Schema.java index b6dc601..f802b58 100644 --- a/prod/net/jaekl/cfb/db/Schema.java +++ b/prod/net/jaekl/cfb/db/Schema.java @@ -16,11 +16,13 @@ public class Schema { String m_name; DbDriver m_driver; ArrayList m_tables; + ArrayList m_sequences; public Schema(String name, DbDriver driver) { m_name = name; m_driver = driver; m_tables = new ArrayList
(); + m_sequences = new ArrayList(); } public boolean ensureDbInitialized(Connection con) throws SQLException { @@ -34,6 +36,10 @@ public class Schema { return false; } + if (!createAllSequences(con)) { + return false; + } + return true; } @@ -73,6 +79,15 @@ public class Schema { return true; } + boolean createAllSequences(Connection con) throws SQLException { + for (Sequence seq : m_sequences) { + if (!m_driver.createSequence(con, seq)) { + return false; + } + } + return true; + } + void addTable(Table table) { m_tables.add(table); } @@ -88,5 +103,9 @@ public class Schema { for (Object[][] table : tables) { addTable(Table.construct(table)); } - } + } + + void addSequence(Sequence seq) { + m_sequences.add(seq); + } }