Invantive Studio generates the business layer of an application from its model in the repository. The generation runs inside the database and creates or replaces:
- the sequences of the tables,
- the reporting views and the [[Invantive Studio/Repository/Concepts/Business Object|business objects]],
- the table logic of each table, which carries the [[Invantive Studio/Repository/Concepts/Attribute Rule|attribute rules]] and calls the [[Invantive Studio/Repository/Concepts/Hook Package|hook packages]],
- the history tables and the triggers that fill them,
- the triggers on the business objects,
- the temporary tables,
- the [[Invantive Studio/Repository/Concepts/Point in Time|point-in-time views]],
- the grants to the roles of the application.
An object whose generated text equals what the database already holds is skipped. A full generation of a large application takes minutes; a generation after a few changes takes seconds. A generation can be limited to the business objects whose names match a pattern.
The tables themselves are created and changed by the [[Invantive Studio/Repository/Concepts/Database Synchronisation|synchronisation of the database]], which runs before the generation.