A non-transitory, computer-readable medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
- providing for display and at a first user interface of a first application of a first user, a current stable version of a current hierarchy of nodes representing data entities stored in a database, wherein the current hierarchy of nodes is indicative of hierarchical relationships defined in a relational data model of the database;
- receiving, from the first user and through the first user interface, a first instruction to adjust at least one hierarchical relationship for at least node represented in the current stable version, wherein adjusting the at least one hierarchical relationship comprises adjusting the relational data model for at least one data entity of the data entities stored in the database, wherein the current stable version includes hierarchical attributes added to each of the nodes of the current hierarchy, and wherein the hierarchical attributes of the current stable version correspond to the current hierarchy of nodes;
- in response to receiving the first instruction, creating a first changeable version of the current hierarchy of nodes, wherein the first changeable version refers to the current stable version and to a first set of new relations associated with changes in a first set of relations between entities in the current stable version;
- receiving, from a second user, a second instruction to adjust the current stable version of the current hierarchy of nodes;
- in response to receiving the second instruction, creating a second changeable version of the current hierarchy of nodes, wherein the second changeable version refers to the first changeable version and to a second set of new relations associated with changes in a second set of relations between entities in the first changeable version;
- initiating generation of a new stable version for a new hierarchy as a modified version of the current hierarchy of nodes, wherein the generation of the new hierarchy comprises enforcing the first set and the second set of new relations to traverse the current stable version to generate the new stable version by (i) defining the new hierarchy of the nodes that is the modified version of the current hierarchy of the nodes and (ii) computing updated hierarchical attributes to be added to the nodes in the new stable version;
- providing for display and at the first user interface of the first application of the first user, the new stable version for the new hierarchy as the modified version of the current hierarchy of nodes;
- and
- in response to a selection from the first user of one or more nodes displayed as part of the new stable version for the new hierarchy, generating and executing a request to invoke data from the database associated with the one or more data entities according to the updated hierarchical attributes for the nodes in the new stable version.