Skip to main content

Data model changes and their impact levels

The data model changes are classified into three levels according to their impacts on the data model: Low, Medium and High.

When you made changes to a data model, the database schema will be updated accordingly.

Below are some examples of the data model changes, their corresponding impact level, and the results in the database:

Action

Impact level

Result

Add a new mandatory element without a default value

High

The entity table is dropped and recreated with the new column added.

Add or remove anonymous types

High

All entity types using anonymous types may be dropped and recreated.

Change an optional simple type element to a mandatory one without a default value (null values exist for the given element)

High

The entity table is dropped and recreated.

Change an optional complex type element to a mandatory one

High

The entity table is dropped and recreated.

Change the type of an element from one simple type to another

High

N/A

Change the maximum occurrence of an element from 1 to n or vice versa

High

The entity table is dropped and recreated.

Change the value of totalDigits or fractionDigits of a decimal element

High

The entity table is dropped and recreated.

Make changes in inheritance

High

All tables involved in the inheritance tree are dropped and recreated.

Make high impact changes to an entity that has foreign key relationships

High

The entity table is dropped and recreated, together with the tables of all other entities that have foreign key relationships with this entity.

Remove a mandatory or optional simple type element in a complex type element

High

The entity table is dropped and recreated.

Remove a mandatory or optional complex type element

High

The entity table is dropped and recreated.

Change an optional simple type element to a mandatory one with a default value (null values exist for the given element)

Medium

The column in the entity table will be updated with the default value.

Remove a mandatory or optional simple type element immediately under an entity

Medium

The column in the entity table will be removed.

Remove a mandatory or optional foreign key element

Medium

The column in the entity table will be removed.

Remove an entity

Medium

The entity table will be removed.

Rename an optional element

Medium

A column with the old name remains and a new column with a new name is created.

Add a new optional simple type element

Low

A new column is added to the entity table.

Add a new optional complex type element

Low

A new column is added to the entity table, and a new table is created for the complex type.

Add a new element (of string, boolean or numeric type) with a default value

Low

A new column is added to the entity table with the default value.

Change a mandatory simple or complex type element to an optional one

Low

The column definition in the entity table will be changed accordingly.

Change an optional simple type element to a mandatory one (no null values exist for the given element)

Low

The column definition in the entity table will be changed accordingly.

Change an optional multi-occurrence element to a mandatory multi-occurrence one or vice versa

Low

The column definition in the entity table will be changed accordingly.

Increase the length of a string element for DB2/Oracle

The original length is less than or equal to the maximum length of the database VARCHAR type, and the updated length is greater than the maximum length. 1

High The entity table is dropped and recreated, the type of the element is converted from VARCHAR to CLOB in the database, and the length of the column is increased accordingly.
Increase the length of a string element for MS SQL Server/MySQL/PostgreSQL

The original length is less than or equal to the maximum length of the database VARCHAR type, and the updated length is greater than the maximum length. 1

Low The type of the element is converted from VARCHAR to NVARCHAR(MAX)/TEXT/TEXT in the database, and the length of the column is increased accordingly.
Increase the length of a string element (except the above two cases) Low The length of the column is increased accordingly.
Decrease the length of a string element

The original length is greater than the maximum length of the database VARCHAR type, and the updated length is less than or equal to the maximum length. 1

High The entity table is dropped and recreated, the type of the element is converted to VARCHAR in the database, and the length of the column is decreased accordingly.
Decrease the length of a string element

Both the original length and the updated length are less than or equal to the maximum length of the database VARCHAR type. 1

High The entity table is dropped and recreated, and the length of the column is decreased accordingly.
Decrease the length of a string element (except the above two cases) Low The length of the column is decreased accordingly.

1 The maximum length of the VARCHAR type for each supported database:

Database Maximum length of the VARCHAR type (bytes)
H2 255
DB2 255
MySQL 255
MS SQL Server 4000
Oracle 4000
PostgreSQL 255

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!