v1.7 upgrade guide: updates to model governance features #4252
Labels
content
Improvements or additions to content
dbt Core
The changes proposed in this issue relate to dbt Core
improvement
Use this when an area of the docs needs improvement as it's currently unclear
Milestone
Contributions
Link to the page on docs.getdbt.com requiring updates
https://docs.getdbt.com/guides/migration/versions/upgrading-to-v1.7
What part(s) of the page would you like to see updated?
Add a section for updates related to "Model governance" features (introduced in v1.5 + refined in v1.6)
Interaction between model contracts & versions
Breaking change detection for models with enforced contracts (#4000): When dbt detects a breaking change to a model with an enforced contract during state comparison, dbt will now raise an error for versioned models and a warning for models that are not versioned. (In previous versions, this was always an error.) The addition of a version communicates that this model is a stable API, and any breaking changes will be accompanied by a version bump. Breaking changes include: removing a column, renaming a column, changing its data type, or changing/removing an enforced constraint.
Flexibility around setting model `access
Set
access
as a config (#4075): It's now possible to set a model'saccess
within config blocks: within the model's file, or withindbt_project.yml
for an entire subfolder at once. We strongly advise you to be thoughtful about which models you are marking public! In a "Mesh" pattern, this means that other teams/projects could start referencing that model and using it as a critical dependency.Model contracts - data type ergonomics
Type aliasing for model contracts (#4241): dbt will use each adapter's built-in type aliasing for user-provided data types—meaning you can now write
string
always, and dbt will translate totext
on Postgres/Redshift. This is on by default, and it's possible to opt out.Raise warning for numeric types (#4251): This led to a lot of stubbed toes, when folks put
numeric
in their model contracts — without realizing that Snowflake interprets it asnumeric(38,0)
, and will coerce/round decimals accordingly. dbt will now raise a warning if it sees a numeric type without specified precision/scale.Additional information
No response
The text was updated successfully, but these errors were encountered: