skip to main content

Versioning

Livebase natively supports a versioning feature, which allows you to keep track of changes to persisted objects in the database. Depending on one's needs, the user is free to define for himself which elements of the engine to version.

Enabling versioning #

Right-click on a class to open its Class menu and select the Edit versioning policy... option from the drop-down menu. From the Versioning policy editor, check the box Enable versioning on this class.

On the canvas, the class will appear marked with the icon and from now on the data within it will be subject to versioning.

Enabling versioning

Class with versioning enabled

A class on which versioning has been enabled

Il versioning policy editor #

The Versioning policy editor panel allows you to enable versioning at the individual class level, and displays all the elements contained within it. Versioned modeling elements (such as native attributes, platform attributes and relationships) are highlighted in bold. Versioned derived attributes are also written in bold, but are actually recalculated based on the historical value of the other attributes.

Versioning policy editor

Versioning policy editor

Engine elements that are not highlighted in bold belong to another class, linked to the versioned class by a relationship. The Versioning policy editor automatically suggests the action to be taken on the engine to make sure that versioning can be enabled for these elements as well: since the structure of the tables depends on the multiplicity of the relationships, when the foreign key is in another class, versioning must be enabled on the latter class as well.

Clicking the class name next to the message Could be versioned by enabling versioning on opposite class gives direct access to the Versioning policy editor of the class you need to version in order to keep track in the database of all the changes made on that data.

Associations many to many cannot be versioned; next to attributes that depend on this type of relationship the editor shows the message Versioning not supported for this role.

Once versioning is enabled, the Versioning policy editor can be accessed by simply double-clicking on the icon.