This page details how Cinchy approaches Version Management within the platform.
Cinchy natively and automatically manages data versioning in the platform through the ‘always-on’ version tracking, collaboration logging, and recycle bin features (data restore).
Cinchy maintains a version history of all changes to every data element stored in Cinchy. The version history is queryable in Cinchy to accelerate analysis, and can also be viewed through the Collaboration Log, which tracks changes made by users, systems, or external applications (Image 1). When required, you can easily revert data to previous states using the Recycle Bin or the Revert button.
Image 1: The Collaboration Log
This section refers to data schemas/models, not data values themselves.
Your schema/data model version can also be managed when you are using multiple environments. For example, if you have a DEV environment and make a change to a table design (ex: changing a column name), you can export and deploy your data model to a PROD environment and Cinchy will intelligently consolidate and merge the schema changes to adhere to the latest version.
To export a table (i.e. your data model), navigate to the Design Table > Export button (Image 2). You can then import your data model into any other environment using the model loader (Image 3).
Image 2: Exporting a data model
Image 3: Importing a data model
This functionality is achieved through the use and synchronization of GUIDs. Each data element in Cinchy (table, column, etc.) will have a matching GUID, which stays consistent even across multiple environments. That means that changes made in your source environment will automatically and accurately be applied once promoted to your higher environment.
A GUID (globally unique identifier) is a 128-bit text string that represents an identification (ID).
You can find the GUID for your object by navigating to the applicable System Table. Ex: Column GUIDs can be found in the Columns table (Image 4).
Image 4: GUIDs
While you are able to manually export/import data models across environments, you may want to package up multiple objects (tables, queries, reference data, etc.) and push that all together between environments. This method still adheres to schema version control and management.
This can be accomplished using the Cinchy DXD Utility, which you can learn more about by reviewing the documentation here.