Toad World® Forums

Reverse Engineer Foreign Key Attributes to Logical


I am currently trying a 2 step process to get to a logical model.
Step 1 works fine. Reverse Engineer to Physical.
Step 2. Reverse Engineer to Logical, by default, doesn't appear copy the attributes of the Primary Key of the parent to the child. Toad Data Modeler seems to work al little differently with its logical model in that it does allow you to specify the migrated attributes and their rolename to the child (not sure why). To get around this in modeling the logical I've created the attributes as Logical Only. But of course this doesn't happen when you reverse engineer.

Is there any easy way to migrate the attributes (other than write a script)?

logical and physical model has some differences, so be aware that it is not possible map all items from logical to physical 1:1.
You can create by TDM macro or script very much. Below is example how to create attribute in logical model (All methods, properties and others you can find in Reference Guide).

  var Ent = Model.Entities.GetObjectByName('Entity2');  //One Entity from my model
  var Attr = Ent.CreateNewObject(4007); //4007 is Object Type of LERAttribute

Could I know your workflow? It is not very often that users want to create logical from physical model. Maybe I will help you more if I know what would like to do.


Thanks for your answer Daril.

Yes I know its an unusual request. The company that I'm currently working for has a lot of unmodelled Schemas. The Definitions are also kept separately to the model. And I'm trying to uplift the modeling there. As such we need to get all the schema from the DB's into Toad and then create a logical from that. Along the way I'm going to have to do a fair amount of manual work to infer relationships. Also the DB that we're using is not support by Toad (nor many if any) modeling tools. So I'm have to create generic DDL scripts, combine those with the comments I can glean from wherever I can source, reverse engineer to a physical model and then reverse that to a logical.

A lot of work ahead! So if there were any ways I am able to streamline the process I will. Going from Physical to Logical, I've created a script that copies comments to notes, so I'll take the code above and put it in the same script.

Thanks for your help.