We are beginning to build a data dictionary using Domains in a Conceptual Data Model. The Domains in this CDM must support many underlying Logical Data Models and Object Data Models. To make this work, we compose and edit the Domains in the single CDM and then forward-engineer that CDM-DataDict into an LDM-DataDict.. From the LDM_DataDict, we merge only the Domain objects into LDM_1, LDM_2, ... ,LDM_N.
In the subsidiary models, LDM_1, etc., are the actual relational models with Entity Attributes.. We link the Attributes to their proper Domains. Our expectation is that the linkage is established on a hidden ID assigned in the CDM and passed-through the LDM-DataDict and finally to the actual models: LDM_1, etc. If so, we ought to be able to edit the Domains in the CDM-DataDict, repeat the forward-engineering and merging into the actual models.
Our repeated experience is that some Attributes' linkages to edited domains survive while others are lost. In the latter case, we have to manually re-link the Attributes to the edited Domains.
What accounts for this strange behavior? It seems as if PowerDesigner, on editing a Domain, changes a Domain's internal ID value in some cases and preserves it's value in other cases. We haven't noticed a pattern that distinguishes these two cases.
What can we do to force PowerDesigner to preserve its internal ID value when editing a Domain?