diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/firebird/FirebirdDdlBuilder.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/firebird/FirebirdDdlBuilder.java index 411c21a791..0e3099407c 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/firebird/FirebirdDdlBuilder.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/firebird/FirebirdDdlBuilder.java @@ -93,12 +93,12 @@ public FirebirdDdlBuilder() { protected void createTable(Table table, StringBuilder ddl, boolean temporary, boolean recreate) { super.createTable(table, ddl, temporary, recreate); - if (!temporary && !recreate) { + if (!temporary) { // creating generator and trigger for auto-increment Column[] columns = table.getAutoIncrementColumns(); for (int idx = 0; idx < columns.length; idx++) { - writeAutoIncrementCreateStmts(table, columns[idx], ddl); + writeAutoIncrementCreateStmts(table, columns[idx], ddl, recreate); } } } @@ -120,10 +120,12 @@ protected void dropTable(Table table, StringBuilder ddl, boolean temporary, bool * Writes the creation statements to make the given column an auto-increment * column. */ - private void writeAutoIncrementCreateStmts(Table table, Column column, StringBuilder ddl) { - ddl.append("CREATE GENERATOR "); - printIdentifier(getGeneratorName(table, column), ddl); - printEndOfStatement(ddl); + private void writeAutoIncrementCreateStmts(Table table, Column column, StringBuilder ddl, boolean recreate) { + if (!recreate) { + ddl.append("CREATE GENERATOR "); + printIdentifier(getGeneratorName(table, column), ddl); + printEndOfStatement(ddl); + } ddl.append("CREATE TRIGGER "); printIdentifier(getTriggerName(table, column), ddl); @@ -370,7 +372,7 @@ protected void processChange(Database currentModel, Database desiredModel, printEndOfStatement(ddl); } if (change.getNewColumn().isAutoIncrement()) { - writeAutoIncrementCreateStmts(curTable, change.getNewColumn(), ddl); + writeAutoIncrementCreateStmts(curTable, change.getNewColumn(), ddl, false); } change.apply(currentModel, delimitedIdentifierModeOn); } diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlBuilder.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlBuilder.java index b53e095134..689cc220f3 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlBuilder.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlBuilder.java @@ -110,7 +110,7 @@ protected void createTable(Table table, StringBuilder ddl, boolean temporary, bo // lets create any sequences Column[] columns = table.getAutoIncrementColumns(); - if (!temporary) { + if (!temporary && !recreate) { for (int idx = 0; idx < columns.length; idx++) { createAutoIncrementSequence(table, columns[idx], ddl); } @@ -118,7 +118,7 @@ protected void createTable(Table table, StringBuilder ddl, boolean temporary, bo super.createTable(table, ddl, temporary, recreate); - if (!temporary && !recreate) { + if (!temporary) { for (int idx = 0; idx < columns.length; idx++) { createAutoIncrementTrigger(table, columns[idx], ddl); }