Skip to main content

Version Control

Version Control

Version management in Promethium allows users to safely edit, test, and instantiate Datamaps without risking accidental changes to production logic.

Why Version Control Matters

BenefitExplanation
SafetyPrevents overwriting production logic with untested changes.
AccountabilityTracks who instantiated what and why through descriptions, timestamps, and authorship.
ReproducibilityEnables referencing prior versions for debugging or auditing.
CollaborationMultiple editors can iterate on Datamap changes without interfering with live logic.

User Roles & Permissions

RolePermissions
ViewerView Instantiated Versions, Cannot instantiate versions, Cannot edit SQL
EditorEdit Datamap SQL, Instantiate new versions, Promote Datamaps
OwnerFull access, Manage permissions, Delete Datamaps

Workflow

This workflow describes how Datamaps are edited, tested, instantiated, and migrated across versions.

Create the First Version of a Datamap

First Version

Users can create a fresh datamap and click on New Version and then Instantiate to create a fresh version.

Instantiation Types

Instantiation TypeDefinitionUse Cases
TableA fully materialized physical table stored in the warehouse.Heavy analytics, Repeated queries, Downstream pipelines
ViewA virtual table defined by SQL; no data physically stored.Lightweight logic, Real-time data access

Each instantiated view and table becomes a destination of the Datamap.

1: Initiate Instantiate

User add new version number.

2: Description

User provides a description of the changes.

Example: “The production version for customer orders with optimized pricing.”

3: Instantiating

User can click on Instantiate to create a version.

Fresh Version

Post creating the first version successfully status is shown as PUBLISHED.

Post Fresh Version

Click on Versions tab to list the available versions.

List Version

Edit the Latest Version of a Datamap

Edit Version

Users can begin by editing the latest instantiated version of a Datamap (not older versions).

Edits can be made in either of the following areas:

  • Datamap SQL
  • Datamap tables and columns, including:
    • Aggregations
    • Conditions / filters
    • Joins
    • Column treatments and transformations

Any change made will create a draft state of Datamap, without affecting the currently instantiated version.

UI Indicators

  • Blue banner: “Saved as Draft. There are no changes to existing Datamap versions nor instantiated objects.”

  • Version selector displays Draft and this indicates the Datamap state as Draft.

  • The draft state of a Datamap:

    • Is editable
    • Is not yet visible as a Marketplace-ready asset
    • Does not impact existing consumers using the instantiated version

Users may continue iterating on the draft state of Datamap without restriction.

Draft Banner

Instantiate a version for testing from Draft state of a Datamap

Click on New Version and then Instantiate to create the next version for testing.

Test Version

Rename the test version for production usage

Go to the list of version.

List Multiple Versions

Rename version & update description to migrate the test version for production usage.

Rename Version

Drop Instantiation

Overview

Drop Instantiation removes an instantiated version of an object from the active execution environment.

This action is used to retract a deployed instance that is no longer valid or needed, while maintaining the Version. Drop destination instance

Behavior

When an instantiation is dropped:

  • The instantiated object is no longer queryable
  • Downstream dependencies will surface warnings or fail
  • Version will remain intact.

What This Does Not Do

Dropping an instantiation does not:

  • Automatically instantiate another version

Governance

Only authorized users may drop an instantiation.

Only one instantiation may be active at a time. Dropping it returns the object to a non-instantiated state.

Destinations and Version Visibility

Data Explorer Versions

In the Fabric UI:

  • All destinations (tables and views) are displayed as:
    • Destinations of the Datamap
    • Associated with the Datamap version that created them
  • Users can clearly identify:
    • Which version produced which destination
    • Which destinations are currently active

Data Preview Modal Versions

Deprecation and Migration (Partial Support)

Consumers may choose to migrate to the newly instantiated version over time.

  • Marking a previous version as deprecated is not currently supported in Fabric.
  • Migration is handled operationally by consumers switching to the new destinations.

Once migration is complete:

  • Consumers may drop the destinations (tables/views) associated with the previous version.
  • The Datamap version and its metadata are retained indefinitely for:
    • Audit
    • Lineage
    • Compliance purposes

Best Practices

  • Always include meaningful instantiate descriptions.
  • Reference version numbers in documentation and handoffs.

Key Features Recap

FeatureBenefit
Datamap in a Draft StatePrevents accidental changes to production logic.
Multi-Step InstantiatingEnsures intentional, documented version releases.
Instantiation OptionsTable or View for production workflows.
Version HistoryEasy comparison of prior logic for debugging and governance.
Change ProtectionPreserves unsaved edits and prevents data loss.