[ https://issues.apache.org/jira/browse/DDLUTILS-208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12644922#action_12644922 ]
Rijk van Haaften commented on DDLUTILS-208: ------------------------------------------- Dropping works fine indeed. My autoincrement column is also primary key. Lets say it contains 5 items: 0,1,2,3,4 Now due to a RecreateTableChange, the sequence and the table are dropped, then newly created and the data of the table is restored. But the sequence is not restored. The new sequence starts at 0 (again). Now creation of a new row fails because primary key 0 already exists. The sequence needs to be restored to 4 (last_value = 4) so creation of new rows goes on from 5 up. > PostgreSQL: RecreateTableChange loses autoIncrement > --------------------------------------------------- > > Key: DDLUTILS-208 > URL: https://issues.apache.org/jira/browse/DDLUTILS-208 > Project: DdlUtils > Issue Type: Bug > Components: Core (No specific database), Core - PostgreSql > Environment: PostgreSQL 8.3.1 > Reporter: Rijk van Haaften > Assignee: Thomas Dudziak > Fix For: 1.1 > > > PlatformImplBase.processChange(RecreateTableChange) does not migrate > (autoincrement) sequences, but does call SqlBuilder.dropTables. > PostgreSqlBuilder.dropTables explicitly drops the sequences: > for (int idx = 0; idx < columns.length; idx++) > { > dropAutoIncrementSequence(table, columns[idx]); > } > (On the other hand, HsqlDbBuilder does not drop the sequence for instance.) > The sequence is created again, but that causes 'duplicate' errors on the > column using the sequence. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.