Data Dictionary domain data type is incorrect in generated DDL from Compare & Merge

Our installation recently upgraded to ER/Studio Data Architect 18.2.  We are developing models for deployment to an Oracle database - specifically Oracle 18c

When performing a Compare & Merge of our Physical Data Model to the live Oracle DB, any of the table columns defined by Data Dictionary Domains do not generate DDL matching the the data type in the Physical Data Model.  Any domain defined table column ends up as CHAR(18) in the *.sql file generated by the Compare & Merge regardless of the data type in the Physical Data Model.  I never had such an issue with previous versions of ER/Studio Data Architect.

The Data Dictionary Domain is defined as an Integer.  Our DB Platform is defined as Oracle 12c with the default Oracle12c data type mapping selection within ER/Studio.

The DDL view within ER/Studio...

And here is what is generated in the *.sql file by the Compare & Merge function from the Physical Data Model to the live Oracle DB as viewed in SQL Developer.

The yellow highlighted column is the Domain defined column.  I cannot explain why the Data Dictionary Domain data types are not generating the same data type definition as defined in the Physical Data Model.

Has anyone had similar issues or have some guidance on what might need to be done to resolve this.  We were previously using ER/Studio Data Architect 9.0 with no issues like this before our upgrade.

  • We are on ER Studio version 17 and have had this problem as well, except ours comes out as VARCHAR2(18) in the generated DDL.  I have not been able to figure out why this occurs, or even consistently recreate the issue.  What I have done is that for this and other issues with the generated DDL, I have written a macro that takes the generated DDL file and specifically looks for VARCHAR2(18) (since that is a datatype we would be unlikely to use).  The macro determines the table and column, and then looks up that column in the model to see if it has a domain, and if the datatype is different from the domain, it alters the DDL datatype to match the domain datatype.  The macro also generates a report of all changes it makes to the DDL so the user is aware of the change.

Reply Children