Icon View Incident Report

Serious Serious
Reported By: Terry Swiers
Reported On: 6/11/2010
For: Version 2.03 Build 14
# 3225 Reverse-Engineering Generating Incorrect Schema Update Code

For my restructuring, I build my entire database in a memory session and then use a customized version of the edbreverse unit to compare and restructure the real database. In build 13, this is working perfectly. Once I dropped build 14 into the mix, the actual table restructure for altered columns modified every field but with the definition of the field one below it in the table even though the table structure was what it should have been.

Here are the steps to recreate it in EDB Manager:

Create New Local database named DB4 (actual names are irrelevant, but these are what I used)

Copy attached catalog to DB4 database folder.

Create New MEMORY database named MemDB

Right click on database DB4 and use the Rev Eng to build a "Create" script.

Run the create script on the MemDB database. The databases should now be identical, and I have verified that this is working as expected.

Right click on the DB4 database and use the Rev Eng to build a Upgrade script using the MemDB as the Target.

Look at alter table statement for the coinfo table. You will see that the data type and description information is shifted up one field from what is in both the source and target databases. And technically, since the table structures were the same to start with, there really shouldn't be any change to the table structure.

Comments Comments and Workarounds
The problem was caused by an issue with the way bookmarks were being used in the generation code. The workaround is to modify the generated SQL to manually fix the issue.

Resolution Resolution
Fixed Problem on 6/13/2010 in version 2.03 build 15

Products Affected Products Affected
ElevateDB Additional Software and Utilities