Data modelling

Extensions

Extending the models

Extensions should only be used for customer specific implementations that don’t make sense to be added to the main default business models.

Each model should have a property named extension. The extension implements the base model. The ORM will create a table with the same name followed by Extension in the database if the extension has more than the base fields. On any operation, the data is joined (the ORM should handle this automatically).

The extension acts as an owned entity for the parent entity. Access to the members is made by calling the parentEntity.extension.memberName.

Extensions entries should be deleted with their parents.