What happens if you change the data model?
During server start up, PolicyCenter analyzes the metadata for changes since the last build. If you have made extensions, the application merges this into the working PolicyCenter data model, which is the composite of the base entities and your extensions.
After merging the base data model with any extensions, PolicyCenter compares the startup layout to the physical schema in the current database. (Each PolicyCenter database stores schema version numbers and metadata checksums to optimize the analysis and comparison.)
If the application detects changes between the startup layout and the physical database schema, it initiates a database upgrade automatically. This keeps the physical schema synchronized with the schema defined by the XML metadata. By default, PolicyCenter refuses to start until the two are synchronized.
The PolicyCenter application server conducts a number of additional tests on the product model data model as it starts. See the following for more information:
- Checking product model availability
- Preventing illegal product model changes
- Verifying the product model
Database upgrade triggers
The upgrade utility initiates a database upgrade automatically at application server startup if there are additions, modifications, or extensions to any of the following:
- Data model version
- Extensions version
- Platform version
- PolicyCenter data model
- Field encryption
- Typelists
In addition to these generic changes, the following specific localization changes trigger a database upgrade:
- In file localization.xml, any change to
the
<LinguisticSearchCollation>subelement on the<GWLocale>element of the default application locale forces a database upgrade at application server startup. - In file collations.xml, any change to
the source definition of the
DBJavaClassdefinition forces a database upgrade at application server startup.
Decimal database column upgrade triggers
- The characteristic of a database column is the set of digits to the left of the decimal point.
- The mantissa of a database column is the set of digits to the right of the decimal point.
- The precision of a database column is the total number of digits.
- The scale of a database column is the number of digits in the mantissa.
- The number of digits in the characteristic is the difference between the precision and the scale (precision - scale).
In the scenario, suppose that a user increases the number of digits in the characteristic (precision - scale) and/or the mantissa (scale) of a database column. Suppose also that the user maintains the number of digits in the other part of the database column, if any. The modified database column part or parts will automatically convert to the appropriate number of digits in this case.
