Skip to content

Commit

Permalink
Updates to migration guide
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewshaver committed Oct 11, 2023
1 parent 5b1dd5f commit f6ffe33
Showing 1 changed file with 22 additions and 28 deletions.
50 changes: 22 additions & 28 deletions website/docs/guides/migration/versions/00-upgrading-to-v1.7.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,44 +14,38 @@ description: New features and changes in dbt Core v1.7

dbt Labs is committed to providing backward compatibility for all versions 1.x, with the exception of any changes explicitly mentioned below. If you encounter an error upon upgrading, please let us know by [opening an issue](https://github.com/dbt-labs/dbt-core/issues/new).

### Behavior changes
## New and changed features and functionality

**COMING SOON**
- [`dbt docs generate`](/reference/commands/cmd-docs) now supports `--select` to generate documentation for a subset of your project. Currently available for Snowflake and Postgres only, but other adapters are coming soon.
- [Source freshness](/docs/deploy/source-freshness) can now be generated from warehouse metadata tables, currently snowflake only, but other adapters that have metadata tables are coming soon. If you configure source freshness without a `loaded_at_field`, dbt will try to determine freshness from warehouse metadata tables.
- The nodes dictionary in the `catalog.json` can now be "partial" if `dbt docs generate` is run with a selector.

## New and changed documentation

- `dbt docs generate` now supports `--select` to generate documentation for a subset of your project
- currently Snowflake and Postgres only, but other adapters on their way
### MetricFlow enhancements

### source freshness can now be generated from warehouse metadata tables
- currently snowflake only, but other adapters that have metadata tables on their way
- if you configure source freshness without a `loaded_at_field`, dbt will try to determine freshness from warehouse metadata tables
- Automatically create metrics on measures with `create_metric: true`.
- Optional [`label`](/docs/build/semantic-models) in semantic_models, measures, dimensions and entities.
- New configurations for semantic models - [enable/disable](/reference/resource-configs/enabled), [group](/reference/resource-configs/group_), and [meta](/reference/resource-configs/meta).
- Support `fill_nulls_with` and `join_to_timespine` for metric nodes.
- `saved_queries` extends governance beyond the semantic objects to their consumption.

### MetricFlow enhancements
- automatically create metrics on measures, `create_metric: true`
- optional `label` in semantic_models, measures, dimensions and
entities
- new configurations for semantic models - enable/disable, group, meta
- support `fill_nulls_with` and `join_to_timespine` for metric nodes
- `saved_queries` extend governance beyond the semantic objects to their consumption
### For consumers of dbt artifacts (metadata)

## For consumers of dbt artifacts (metadata)
- The [manifest](/reference/artifacts/manifest-json) schema version has been updated to v11.
- The [run_results](/reference/artifacts/run-results-json) schema version has been updated to v5.
- Added [node attributes](/reference/artifacts/run-results-json) related to compilation (`compiled`, `compiled_code`, `relation_name`).

The [manifest](https://docs.getdbt.com/reference/artifacts/manifest-json) schema version has been updated to v11. Specific changes:
- ???

@dbeatty10 do you know what the manifest schema changes were? The [PR that bumped the version](https://github.com/dbt-labs/dbt-core/pull/8335) didn't seem to make any other changes.
### Model governance

The [run_results](https://docs.getdbt.com/reference/artifacts/run-results-json) schema version has been updated to v5. Specific changes:
- Add node attributes related to compilation (`compiled`, `compiled_code`, `relation_name`)
Model governance was introduced in dbt Core v1.5 and it is continuing to be refined. The additional features and functionality have been added in v1.7 are as follows:

The nodes dictionary in the `catalog.json` can now be "partial" if `dbt docs generate` is run with a selector.
- **[Breaking change detection](/reference/resource-properties/versions) for models with contracts enforced:** When dbt detects a breaking change to a model with an enforced contract during state comparison, it will now raise an error for versioned models and a warning for models that are not versioned.
- **[Set `access` as a config](/reference/resource-configs/access):** It's now possible to set a model's `access` within config blocks in the model's file or the `dbt_project.yml` for an entire subfolder at once.
- **[Type aliasing for model contracts](/reference/resource-configs/contract):** 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 to `text` on Postgres/Redshift. This is on by default, and it's possible to opt-out.
- **[Raise warning for numeric types](/reference/resource-configs/contract):** This led to issues when putting `numeric` in model contracts without considering that Snowflake interprets it as `numeric(38,0)`, and will round decimals accordingly. dbt will raise a warning if it sees a numeric type without specified precision/scale.

### Quick hits

- You can configure a `delimiter` for a seed file.
- Allow setting `access` as a config.
- Support packages with same git repo and unique subdirectory.
- Moved `date_spine` macro from dbt-utils to dbt-core.


- Support packages with the same git repo and unique subdirectory.
- Moved the `date_spine` macro from dbt-utils to dbt-core.

0 comments on commit f6ffe33

Please sign in to comment.