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.