Schema Evolution (2.9)
This page explains how InterSystems® Data Fabric Studio™ accommodates schema changes while also preserving your data, a process known as schema evolution.
How the System Manages Changes to Schemas
Schema evolution works as follows:
-
When you import a schema and first edit it, the schema is a draft and cannot be used by recipes.
-
When you publish a schema, it can then be used by recipes—specifically in a staging activity (which loads data into the system).
-
When you define a recipe, each of its activities is initially a draft.
-
When you publish a staging activity of a recipe, the system then generates the table that will store the data to be loaded.
-
When you edit or reimport a schema, you are implicitly creating a draft that is not yet used by anything. The existing schema is unchanged; existing data is also unchanged.
While a schema is in draft state, you have the option of deleting the draft (and reverting to the previous published version).
-
When you republish a schema, if the change affects the structure needed to contain the data, the system automatically increments the version number of the schema and automatically generates a new draft of any staging activity that is affected by this change. The new staging activity draft is not automatically published, and the previous staging activity is unchanged.
-
When you republish a staging activity, the system generates a new table as needed, considering the structural change that has occurred. This leaves the old table (and its data) unchanged.
Similarly, changes to earlier parts of a recipe can affect later activities in a recipe, requiring changes in those later activities. The system detects these changes, automatically generates draft activities where appropriate, and notifies you of the drafts.