Hands-on prototypes for Options A, B, C, and D for model versions.
See here for the Big Idea and the options we've thought of so far:
- Clone this repo using your method of choice: HTTPS, SSH, or GitHub CLI
- Optional: Create a branch so that you can make commits that are separated from everyone else's
git branch -b my_username/prototypes
You are an analytics engineer that maintains a simple model named dim_customers
, and it contains these columns:
customer_id
favorite_color
favorite_animal
There is a feature request to drop the favorite_color
column.
Your main task is to:
- Create a new model version in which the
favorite_color
column is dropped. - Keep the old model version as-is until a specified deprecation date in the future.
As the maintainer of this model, pretend you live in four alternate universes that already use model versioning, and make the relevant updates in each of the following folders:
- Option_A
- Option_B
- Option_C
- Option_D
Reference the syntax for each of the options here.
Having so much fun that you want to keep going? Are you willing to create your own adventure? Here's some things you can try (in any order you want!):
- As the maintainer of this model, pretend you live in four alternate universes but that you DON’T already use model versioning.
- Create a simple model that is unversioned to start
- Then make the relevant updates to convert it into a versioned model
- Try out all four of the options for versioning from the earlier activity
- Create a new dbt project named
project_2
.- Make a reference to a versioned model. Then update it to the new version.
- Make a reference to an unversioned model. Then update it to the new version.
- Within
project_1
, add a downstream reference to a versioned model. Then update it to use the new version. - Within
project_1
, add a downstream reference to an unversioned model. Then update it to use the new version. - Pretend you are in charge of a BI dashboard that uses a versioned model. How would you update your dashboard to use the new version?
- Pretend you are in charge of a BI dashboard that uses an unversioned model. How would you update your dashboard to use the new version?