In comparison chart I read that physical to logical model conversion is to be defined for version 3.1 .
I have big DB project in CS2. I would like to make logical model for it.
There are more than 200 tables in that model now, plus about 30 submodels.
I like the idea to continue with that project with logical model , views, etc.
Shall I wait for versin that could do it for me, or shall I make the logival model from scratch ?
There’s no need to wait. The latest Beta 3.0.10 offers model update feature for LER models, and also rules for LER to PER model conversion have been implemented.
We will be very happy if you help us test this feature. (Your model seems to be a great challenge to verify if model import and conversion work properly in the Beta.)
Please download the latest Beta from the Download section in this community.
What to do:
Export your model in CS2 to .xml file.
Open this .dmx model in TDM 3 BETA and resave it as .txp file.
Select Settings | Data Type conversin Settings to define data types conversion rules. (From the Destination box, select Logical model and click the first button in the dialog toolbar.)
Under your PER model, select Model | Alter Scripting, Merge Models to open the Convertor.
From the Model 2 box, select [New] Logical Model. (In Model 1 box, your PER model is mentioned.)
Go through the list of items and select those you like to convert and finally click Execute. - A new LER model will be created and opened automatically in the AW.
If you have any questions or come across any trouble, please write me back. Thanks.
I look forward to your feedback!
Regards,
Vladka
Important note: TDM 3 Beta supports only the following databases: MySQL 5, SQL Server 2005 and 2000, Oracle 10g and 9i, PostgreSQL 8.2 and 8.1 and Sybase ASE 15 and 12.5.
I tried model comparison before, but there was no EXECUTE button.
Anyway, I followed Your points, but after point 3 I wanted to change Float -> Decimal to Float -> Float. After doubleclicking on Decimal (15,5) in destination column, the word “Decimal” vanished and runtime exception occured "Error - Access violation at address 005A4F12 in module ‘TDM.exe’, read of address 00000000’.
Conversion completed, but there are dozens of messages…
During conversion of Data Types no suitable Data Type has been found.
details: During conversion of data type - ENUM from modeldef MySQL 5.0 to model with modeldef Logical model was not found any suitable type. Default type was assigned.
80x
And to add, while importing CS2 XML file, “Vlastnost DISPLAYPKINDICATOR nelze načít!” occured
(property DISPLAYPKINDICATOR could not be read!) 60x
with detail
Hodnota v XML nenalezena: #document/MODEL/ERD/SUBMODELS/SUBMODEL/PROPERTIES/DISPLAYPKINDICATOR
Pro vlastnost bude pouita výchozí hodnota “0.”
(value in XML not found: … Default value 0 will be used for property)
I guess all of my ENUM types will be lost.
Strange, in CS2 all of my ENUM types where defined as user data types - ENUMs. I wanted them to be usable anywhere in model.
But after importing it to TDM3 it changed to domain. But there are data types as well. Maybe it’s only a matter of terminology.
As I see it now, all of my ENUM data type usage is really lost in LER.
What did I wrong ?
Model Import
Let me ask you what version of CS2 you use.
DISPLAYPKINDICATOR works for setting of work area - to display keys graphically. If import of this failes, nothing important will be lost.
In any case, we will deal with the messages and translate them properly.
MySQL 5 doesn’t use user data types and dictionary typers, therefore the CS2 user data types are imported to Domains. (It’s correct now in TDM3.)
Conversion to LER model
ENUM data type conversion - we’re working on this issue at the moment. Thanks for your notification!
Domains from PER model are converted to LER model, however appropriate attributes do not use the domains, which is a bug. We will fix it. CR # 36 756.
Unfortunately, there’s no temporary solution for you at the moment. We need to fix the troubles. Thanks for your patience and co-operation.
Yes, we know about this trouble and will fix it.
Just to explain: If you cannot define it, it means that default data type will be used for the conversion, and a warning will be displayed in the log. It doesn’t mean that the source data type will not be converted.
The default data type in this case is Bigint (however will be changed).