Convert merged changes into the parent polyglot model
Before we dive into the process, it is important to understand the concept of deviations.
Deviations in a model derived from polyglot
A deviation means that the user chooses to alter a model derived from polyglot. Deviations can be in the form of altering or deleting existing objects or adding new ones. Meaning that the derived model can be a subset/superset of its parent polyglot model. You may add one or more attributes in an entity. You may add one or more entities. You may change some properties of an existing attribute so the chosen property value overrides the inherited definition, etc... All these deviations are tracked within the derived model so that the impact analysis screen takes them into account when updating polyglot references.
When comparing 2 models, it is possible that the same column exists in both the left and right models, but with a different property value. For example, the column is defined as varchar without length specified in the derived physical model on the right, while the reverse-engineered model from the database on the left defines it as varchar(30).
When merging, the user can choose to use the value from the left model (30) into the merged model. Doing so creates a deviation.
Warning: Data type of attributes cannot be altered in a derived model. The datatype is treated as a fundamental property, on which other properties may depend, and must remain consistent with the source Polyglot model. This applies both when editing a derived model and when using the Compare & Merge feature: the datatype from the right-side model will always prevail. If the database defines a different datatype, this must be addressed at the Polyglot level. See advanced use case below.
For changes that cannot be handled as simple deviations (such as datatypes, or when you prefer to propagate the update into the Polyglot chain rather than creating a deviation in the physical model), a more advanced process is required. This advanced use case is described below...
Convert merged changes into the parent polyglot model
TBA