Planning Changes to Tables or Columns
When you are planning to make a backward-incompatible change, you need to proceed in a way that minimizes the impact and gives downstream stakeholders as much warning as possible. Examples of backward-incompatible changes are:
- Changing a schema (type changed, name changed)
- Changing values (data fields will no longer be populated, or will be populated differently)
You need to understand and communicate the impact before you make such a change. This is usually done in the following steps:
- Understand the impact: understand who uses or queries this data.
- Provide heads-up notification: notify downstream owners and users that this data is going to change, and that they need to update their assets (downstream tables or dashboards) accordingly. Provide a time window after which the change will go into effect.
- (ideally): Understand the impact again: see if downstream users have changed their assets; how many still need to be nudged, etc.?
- Make the actual change and follow up to make sure that it’s complete.
Stemma can help you make the change as painless as possible. Use the UI to assess the effect on downstream users and on other assets. The following sections provide help:
If you are deprecating a table:
- Change the description to warn users about the impending change.
- Change the status to
Now warn all owners and frequent users about the change, and give them a deadline to make their adjustments.
If you decide to change the name of a table to indicate that it’s deprecated (e.g., to something like
deprecated_tablename), that will cause it, by default, to be removed from Stemma after ten days.