From 132668e3e7fa79338196f4ebddd08f25c453aaa6 Mon Sep 17 00:00:00 2001 From: rpourzand Date: Wed, 20 Sep 2023 15:50:17 -0700 Subject: [PATCH 001/216] Update sl-jdbc.md Draft PR --- website/docs/docs/dbt-cloud-apis/sl-jdbc.md | 29 ++++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md index b50dd99ec75..0106b2054c0 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md +++ b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md @@ -165,9 +165,9 @@ To query metric values, here are the following parameters that are available: | `metrics` | The metric name as defined in your dbt metric configuration | `metrics=['revenue']` | Required | | `group_by` | Dimension names or entities to group by. We require a reference to the entity of the dimension (other than for the primary time dimension), which is pre-appended to the front of the dimension name with a double underscore. | `group_by=['user__country', 'metric_time']` | Optional | | `grain` | A parameter specific to any time dimension and changes the grain of the data from the default for the metric. | `group_by=[Dimension('metric_time')`
`grain('week\|day\|month\|quarter\|year')]` | Optional | -| `where` | A where clause that allows you to filter on dimensions and entities using parameters - comes with `TimeDimension`, `Dimension`, and `Entity` objects. Granularity is required with `TimeDimension` | `"{{ where=Dimension('customer__country') }} = 'US')"` | Optional | +| `where` | A where clause that allows you to filter on dimensions and entities using parameters. This takes a filter list OR string. Inputs come with `Dimension`, and `Entity` objects. Granularity is required if the `Dimension` is a time dimension | `"{{ where=Dimension('customer__country') }} = 'US')"` | Optional | | `limit` | Limit the data returned | `limit=10` | Optional | -|`order` | Order the data returned | `order_by=['-order_gross_profit']` (remove `-` for ascending order) | Optional | +|`order` | Order the data returned | `order_by=['-order_gross_profit']` (remove `-` for ascending order). | Optional | | `explain` | If true, returns generated SQL for the data platform but does not execute | `explain=True` | Optional | @@ -244,13 +244,13 @@ select * from {{ Where filters in API allow for a filter list or string. We recommend using the filter list for production applications as this format will realize all benefits from the where possible. -Where filters have the following components that you can use: +Where Filters have a few objects that you can use: - `Dimension()` - This is used for any categorical or time dimensions. If used for a time dimension, granularity is required - `Dimension('metric_time').grain('week')` or `Dimension('customer__country')` -- `TimeDimension()` - This is used for all time dimensions and requires a granularity argument - `TimeDimension('metric_time', 'MONTH)` +- `Entity()` - used for entities like primary and foreign keys - `Entity('order_id')` -- `Entity()` - This is used for entities like primary and foreign keys - `Entity('order_id')` +Note: If you prefer a more strongly typed `where` clause, you can optionally use the `TimeDimension` feature. This helps separate out categorical dimensions from time-related ones. The `TimeDimesion` input takes the time dimension name and also requires granularity, like this: `TimeDimension('metric_time', 'MONTH')`. Use the following example to query using a `where` filter with the string format: @@ -259,7 +259,7 @@ Use the following example to query using a `where` filter with the string format select * from {{ semantic_layer.query(metrics=['food_order_amount', 'order_gross_profit'], group_by=[Dimension('metric_time').grain('month'),'customer__customer_type'], -where="{{ TimeDimension('metric_time', 'MONTH') }} >= '2017-03-09' AND {{ Dimension('customer__customer_type' }} in ('new') AND {{ Entity('order_id') }} = 10") +where="{{ Dimension('metric_time').grain('month') }} >= '2017-03-09' AND {{ Dimension('customer__customer_type' }} in ('new') AND {{ Entity('order_id') }} = 10") }} ``` @@ -269,7 +269,7 @@ Use the following example to query using a `where` filter with a filter list for select * from {{ semantic_layer.query(metrics=['food_order_amount', 'order_gross_profit'], group_by=[Dimension('metric_time').grain('month'),'customer__customer_type'], -where=[{{ TimeDimension('metric_time', 'MONTH')}} >= '2017-03-09', {{ Dimension('customer__customer_type' }} in ('new'), {{ Entity('order_id') }} = 10]) +where=[{{ Dimension('metric_time').grain('month') }} >= '2017-03-09', {{ Dimension('customer__customer_type' }} in ('new'), {{ Entity('order_id') }} = 10]) }} ``` @@ -285,6 +285,21 @@ semantic_layer.query(metrics=['food_order_amount', 'order_gross_profit'], order_by=['order_gross_profit']) }} ``` + +Note that for `order_by`, if you are operating on the object (e.g. changing granularity), you should use the following syntax: + +```bash +... +order_by=[Dimension('metric_time').grain('month')] +``` + +Descending: +... +``` +order_by=[Dimension('metric_time').grain('month').descending(true)] +``` + + ### Query with explain keyword Use the following example to query using a `explain` keyword: From 1cc4c030a32b080e385227aee057703aa7ba7c5d Mon Sep 17 00:00:00 2001 From: rpourzand Date: Wed, 20 Sep 2023 15:51:51 -0700 Subject: [PATCH 002/216] Update sl-jdbc.md fixing typo --- website/docs/docs/dbt-cloud-apis/sl-jdbc.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md index 0106b2054c0..cb705296a62 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md +++ b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md @@ -291,11 +291,10 @@ Note that for `order_by`, if you are operating on the object (e.g. changing gran ```bash ... order_by=[Dimension('metric_time').grain('month')] -``` +``` -Descending: -... ``` +... order_by=[Dimension('metric_time').grain('month').descending(true)] ``` From 438568b5881f19755a707befeb95360fb063997e Mon Sep 17 00:00:00 2001 From: rpourzand Date: Fri, 22 Sep 2023 10:41:45 -0700 Subject: [PATCH 003/216] Update website/docs/docs/dbt-cloud-apis/sl-jdbc.md Co-authored-by: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> --- website/docs/docs/dbt-cloud-apis/sl-jdbc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md index cb705296a62..d96f03912a1 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md +++ b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md @@ -286,7 +286,7 @@ semantic_layer.query(metrics=['food_order_amount', 'order_gross_profit'], }} ``` -Note that for `order_by`, if you are operating on the object (e.g. changing granularity), you should use the following syntax: +When using `order_by` and making changes to the object (like changing granularity), use this syntax: ```bash ... From 85f17721f14f0b07477b305a94d221d2206cf98c Mon Sep 17 00:00:00 2001 From: rpourzand Date: Fri, 22 Sep 2023 10:43:08 -0700 Subject: [PATCH 004/216] Update sl-jdbc.md Changing wording per Devon's recommendation --- website/docs/docs/dbt-cloud-apis/sl-jdbc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md index d96f03912a1..dedd69648ae 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md +++ b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md @@ -250,7 +250,7 @@ Where Filters have a few objects that you can use: - `Entity()` - used for entities like primary and foreign keys - `Entity('order_id')` -Note: If you prefer a more strongly typed `where` clause, you can optionally use the `TimeDimension` feature. This helps separate out categorical dimensions from time-related ones. The `TimeDimesion` input takes the time dimension name and also requires granularity, like this: `TimeDimension('metric_time', 'MONTH')`. +Note: If you prefer a more explicit path to create the `where` clause, you can optionally use the `TimeDimension` feature. This helps separate out categorical dimensions from time-related ones. The `TimeDimesion` input takes the time dimension name and also requires granularity, like this: `TimeDimension('metric_time', 'MONTH')`. Use the following example to query using a `where` filter with the string format: From 690e5bccbdd3a238207743c7ee69852404b8341a Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 25 Sep 2023 15:33:51 +0100 Subject: [PATCH 005/216] Update website/docs/docs/dbt-cloud-apis/sl-jdbc.md --- website/docs/docs/dbt-cloud-apis/sl-jdbc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md index dedd69648ae..5c31f37f219 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md +++ b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md @@ -248,7 +248,7 @@ Where Filters have a few objects that you can use: - `Dimension()` - This is used for any categorical or time dimensions. If used for a time dimension, granularity is required - `Dimension('metric_time').grain('week')` or `Dimension('customer__country')` -- `Entity()` - used for entities like primary and foreign keys - `Entity('order_id')` +- `Entity()` - Used for entities like primary and foreign keys - `Entity('order_id')` Note: If you prefer a more explicit path to create the `where` clause, you can optionally use the `TimeDimension` feature. This helps separate out categorical dimensions from time-related ones. The `TimeDimesion` input takes the time dimension name and also requires granularity, like this: `TimeDimension('metric_time', 'MONTH')`. From 0fb65be9e0b4b2d0a62f2628f116f2c3b71831dd Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 27 Sep 2023 13:42:13 -0400 Subject: [PATCH 006/216] Adding --profile flag info --- website/docs/reference/commands/init.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/website/docs/reference/commands/init.md b/website/docs/reference/commands/init.md index 468bee5ff60..1b07986bf00 100644 --- a/website/docs/reference/commands/init.md +++ b/website/docs/reference/commands/init.md @@ -17,10 +17,19 @@ Then, it will: - Create a new folder with your project name and sample files, enough to get you started with dbt - Create a connection profile on your local machine. The default location is `~/.dbt/profiles.yml`. Read more in [configuring your profile](/docs/core/connect-data-platform/connection-profiles). + + +If `--profile` flag is specified with `dbt init`, and the profile exists in `profiles.yml`, the project will initialize with that as the `profile:` key instead of creating a new one. + +If the profile does not exist in profiles.yml or the command is run inside an existing project, the command raises an error. + + + ## Existing project If you've just cloned or downloaded an existing dbt project, `dbt init` can still help you set up your connection profile so that you can start working quickly. It will prompt you for connection information, as above, and add a profile (using the `profile` name from the project) to your local `profiles.yml`, or create the file if it doesn't already exist. + ## profile_template.yml `dbt init` knows how to prompt for connection information by looking for a file named `profile_template.yml`. It will look for this file in two places: From ee4a2314b433cfdd146580fcde50908298d92b0e Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 27 Sep 2023 13:56:26 -0400 Subject: [PATCH 007/216] Update website/docs/reference/commands/init.md --- website/docs/reference/commands/init.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/commands/init.md b/website/docs/reference/commands/init.md index 1b07986bf00..aff5c0d4827 100644 --- a/website/docs/reference/commands/init.md +++ b/website/docs/reference/commands/init.md @@ -19,7 +19,7 @@ Then, it will: -If `--profile` flag is specified with `dbt init`, and the profile exists in `profiles.yml`, the project will initialize with that as the `profile:` key instead of creating a new one. +Use the `--profile` flag with `dbt init` to initialize the project with an existing `profiles.yml` as the `profile:` key instead of creating a new one. If the profile does not exist in profiles.yml or the command is run inside an existing project, the command raises an error. From 0ed03f96c27c3c7ce24f3896e28d5d320b2c5fa6 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 27 Sep 2023 14:12:42 -0400 Subject: [PATCH 008/216] Semantic model configs in project.yml --- website/docs/docs/build/semantic-models.md | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/website/docs/docs/build/semantic-models.md b/website/docs/docs/build/semantic-models.md index bb56bd212e6..8320b75a71c 100644 --- a/website/docs/docs/build/semantic-models.md +++ b/website/docs/docs/build/semantic-models.md @@ -105,6 +105,29 @@ semantic_models: type: categorical ``` + + +Semantic models support configs in either the schema file or at the project level. + +Semantic model config in `models/semantic.yml`: +```yml +semantic_models: + - name: orders + config: + enabled: true | false + group: some_group +``` + +Semantic model config in `dbt_project.yml`: +```yml +semantic_models: + my_project_name: + +enabled: true | false + +group: some_group +``` + + + ### Name Define the name of the semantic model. You must define a unique name for the semantic model. The semantic graph will use this name to identify the model, and you can update it at any time. From d86c4e0df66221a047f5663a94ff794a02a3cabc Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 27 Sep 2023 15:52:02 -0400 Subject: [PATCH 009/216] Expanding access to configs --- website/docs/docs/build/groups.md | 4 +- .../docs/collaborate/govern/model-access.md | 2 +- website/docs/reference/model-properties.md | 4 +- .../docs/reference/node-selection/methods.md | 2 +- .../docs/reference/resource-configs/access.md | 97 +++++++++++++++++++ .../reference/resource-properties/access.md | 53 ---------- website/sidebars.js | 2 +- website/static/_redirects | 4 + 8 files changed, 108 insertions(+), 60 deletions(-) create mode 100644 website/docs/reference/resource-configs/access.md delete mode 100644 website/docs/reference/resource-properties/access.md diff --git a/website/docs/docs/build/groups.md b/website/docs/docs/build/groups.md index 7ac5337ba0d..d4fda045277 100644 --- a/website/docs/docs/build/groups.md +++ b/website/docs/docs/build/groups.md @@ -19,7 +19,7 @@ This functionality is new in v1.5. ## About groups -A group is a collection of nodes within a dbt DAG. Groups are named, and every group has an `owner`. They enable intentional collaboration within and across teams by restricting [access to private](/reference/resource-properties/access) models. +A group is a collection of nodes within a dbt DAG. Groups are named, and every group has an `owner`. They enable intentional collaboration within and across teams by restricting [access to private](/reference/resource-configs/access) models. Group members may include models, tests, seeds, snapshots, analyses, and metrics. (Not included: sources and exposures.) Each node may belong to only one group. @@ -94,7 +94,7 @@ select ... ### Referencing a model in a group -By default, all models within a group have the `protected` [access modifier](/reference/resource-properties/access). This means they can be referenced by downstream resources in _any_ group in the same project, using the [`ref`](/reference/dbt-jinja-functions/ref) function. If a grouped model's `access` property is set to `private`, only resources within its group can reference it. +By default, all models within a group have the `protected` [access modifier](/reference/resource-configs/access). This means they can be referenced by downstream resources in _any_ group in the same project, using the [`ref`](/reference/dbt-jinja-functions/ref) function. If a grouped model's `access` property is set to `private`, only resources within its group can reference it. diff --git a/website/docs/docs/collaborate/govern/model-access.md b/website/docs/docs/collaborate/govern/model-access.md index 64b70416a2f..765e833ac0c 100644 --- a/website/docs/docs/collaborate/govern/model-access.md +++ b/website/docs/docs/collaborate/govern/model-access.md @@ -25,7 +25,7 @@ The two concepts will be closely related, as we develop multi-project collaborat ## Related documentation * [`groups`](/docs/build/groups) -* [`access`](/reference/resource-properties/access) +* [`access`](/reference/resource-configs/access) ## Groups diff --git a/website/docs/reference/model-properties.md b/website/docs/reference/model-properties.md index 730432c88af..63adc1f0d63 100644 --- a/website/docs/reference/model-properties.md +++ b/website/docs/reference/model-properties.md @@ -18,7 +18,7 @@ models: show: true | false [latest_version](/reference/resource-properties/latest_version): [deprecation_date](/reference/resource-properties/deprecation_date): - [access](/reference/resource-properties/access): private | protected | public + [access](/reference/resource-configs/access): private | protected | public [config](/reference/resource-properties/config): [](/reference/model-configs): [constraints](/reference/resource-properties/constraints): @@ -46,7 +46,7 @@ models: [description](/reference/resource-properties/description): [docs](/reference/resource-configs/docs): show: true | false - [access](/reference/resource-properties/access): private | protected | public + [access](/reference/resource-configs/access): private | protected | public [constraints](/reference/resource-properties/constraints): - [config](/reference/resource-properties/config): diff --git a/website/docs/reference/node-selection/methods.md b/website/docs/reference/node-selection/methods.md index e318a0b9f4a..e6cf1c6ea92 100644 --- a/website/docs/reference/node-selection/methods.md +++ b/website/docs/reference/node-selection/methods.md @@ -315,7 +315,7 @@ Supported in v1.5 or newer. -The `access` method selects models based on their [access](/reference/resource-properties/access) property. +The `access` method selects models based on their [access](/reference/resource-configs/access) property. ```bash dbt list --select access:public # list all public models diff --git a/website/docs/reference/resource-configs/access.md b/website/docs/reference/resource-configs/access.md new file mode 100644 index 00000000000..d9f4fd1ce43 --- /dev/null +++ b/website/docs/reference/resource-configs/access.md @@ -0,0 +1,97 @@ +--- +resource_types: [models] +datatype: access +--- + + + +```yml +version: 2 + +models: + - name: model_name + access: private | protected | public +``` + + + + + +Access modifiers may be applied to models one-by-one in YAML properties. In v1.5 and v1.6, it is not possible to configure `access` for multiple models at once. Upgrade to v1.7 for additional configuration options. A group or subfolder contains models with a variety of access levels, and designating a model with `access: public` should always be a conscious and intentional choice. + + + + + +Access modifiers can be applied in config files, including `the dbt_project.yml`, or to models one-by-one in YAML properties. Apply access configs to a subfolder, and it will configure the default for all models in that subfolder. When setting individual model access, a group or subfolder might contain a variety of access levels, and designating a model with `access: public` should always be a conscious and intentional choice. + +There are multiple approaches to configuring access: + +In the model configs of `dbt_project.yml``: + +```yaml +models: + - name: my_public_model + access: public # Older method, still supported + +``` +Or (but not both) + +```yaml +models: + - name: my_public_model + config: + access: public # newly supported in v1.7 + +``` + +In a subfolder: +```yaml +models: + my_project_name: + subfolder_name: + +group: + +access: private # sets default for all models in this subfolder +``` + +In the model.sql file: + +```sql +-- models/my_public_model.sql + +{{ config(access = "public") }} + +select ... +``` + + + +## Definition +The access level of the model you are declaring properties for. + +Some models (not all) are designed to be referenced through the [ref](/reference/dbt-jinja-functions/ref) function across [groups](/docs/build/groups). + +| Access | Referenceable by | +|-----------|-------------------------------| +| private | same group | +| protected | same project/package | +| public | any group, package or project | + +If you try to reference a model outside of its supported access, you will see an error: + +```shell +dbt run -s marketing_model +... +dbt.exceptions.DbtReferenceError: Parsing Error + Node model.jaffle_shop.marketing_model attempted to reference node model.jaffle_shop.finance_model, + which is not allowed because the referenced node is private to the finance group. +``` + +## Default + +By default, all models are "protected." This means that other models in the same project can reference them. + +## Related docs + +* [Model Access](/docs/collaborate/govern/model-access#groups) +* [Group configuration](/reference/resource-configs/group) diff --git a/website/docs/reference/resource-properties/access.md b/website/docs/reference/resource-properties/access.md deleted file mode 100644 index 42b9893ed7f..00000000000 --- a/website/docs/reference/resource-properties/access.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -resource_types: [models] -datatype: access -required: no ---- - -:::info New functionality -This functionality is new in v1.5. -::: - - - -```yml -version: 2 - -models: - - name: model_name - access: private | protected | public -``` - - - -Access modifiers may be applied to models one-by-one in YAML properties. It is not currently possible to configure `access` for multiple models at once. A group or subfolder contains models with a variety of access levels, and designating a model with `access: public` should always be a conscious and intentional choice. - -## Definition -The access level of the model you are declaring properties for. - -Some models (not all) are designed to be referenced through the [ref](/reference/dbt-jinja-functions/ref) function across [groups](/docs/build/groups). - -| Access | Referenceable by | -|-----------|-------------------------------| -| private | same group | -| protected | same project/package | -| public | any group, package or project | - -If you try to reference a model outside of its supported access, you will see an error: - -```shell -dbt run -s marketing_model -... -dbt.exceptions.DbtReferenceError: Parsing Error - Node model.jaffle_shop.marketing_model attempted to reference node model.jaffle_shop.finance_model, - which is not allowed because the referenced node is private to the finance group. -``` - -## Default - -By default, all models are "protected." This means that other models in the same project can reference them. - -## Related docs - -* [Model Access](/docs/collaborate/govern/model-access#groups) -* [Group configuration](/reference/resource-configs/group) diff --git a/website/sidebars.js b/website/sidebars.js index be4e20e75e1..60a8473e694 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -631,7 +631,6 @@ const sidebarSettings = { type: "category", label: "General properties", items: [ - "reference/resource-properties/access", "reference/resource-properties/columns", "reference/resource-properties/config", "reference/resource-properties/constraints", @@ -648,6 +647,7 @@ const sidebarSettings = { type: "category", label: "General configs", items: [ + "reference/resource-configs/access", "reference/resource-configs/alias", "reference/resource-configs/database", "reference/resource-configs/enabled", diff --git a/website/static/_redirects b/website/static/_redirects index cc1ad567682..b7d5e9844c5 100644 --- a/website/static/_redirects +++ b/website/static/_redirects @@ -1,3 +1,7 @@ +# Moving access page + +/reference/resource-configs/access /reference/resource-configs/access 301 + # Deprecating Discovery API (FKA Metadata API) legacy endpoints /docs/dbt-cloud-apis/discovery-schema-model /docs/dbt-cloud-apis/discovery-schema-job-model 301 From 687388abae86f6a9cad0fec9326176809f585d37 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 28 Sep 2023 15:49:32 -0400 Subject: [PATCH 010/216] Adding semantic models to list --- .../migration/versions/01-upgrading-to-v1.6.md | 1 + website/docs/reference/commands/list.md | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/website/docs/guides/migration/versions/01-upgrading-to-v1.6.md b/website/docs/guides/migration/versions/01-upgrading-to-v1.6.md index bdb47bbf2ea..7cdd6df7884 100644 --- a/website/docs/guides/migration/versions/01-upgrading-to-v1.6.md +++ b/website/docs/guides/migration/versions/01-upgrading-to-v1.6.md @@ -90,4 +90,5 @@ More consistency and flexibility around packages. Resources defined in a package - [`dbt debug --connection`](/reference/commands/debug) to test just the data platform connection specified in a profile - [`dbt docs generate --empty-catalog`](/reference/commands/cmd-docs) to skip catalog population while generating docs - [`--defer-state`](/reference/node-selection/defer) enables more-granular control +- [`dbt ls`](/reference/commands/list) adds the Semantic model selection method to allow for `dbt ls -s "semantic_model:*"` and the ability to execute `dbt ls --resource-type semantic_model`. diff --git a/website/docs/reference/commands/list.md b/website/docs/reference/commands/list.md index 6084b3dec70..61e60f91333 100644 --- a/website/docs/reference/commands/list.md +++ b/website/docs/reference/commands/list.md @@ -10,7 +10,7 @@ The `dbt ls` command lists resources in your dbt project. It accepts selector ar ### Usage ``` dbt ls - [--resource-type {model,source,seed,snapshot,metric,test,exposure,analysis,default,all}] + [--resource-type {model,semantic_model,source,seed,snapshot,metric,test,exposure,analysis,default,all}] [--select SELECTION_ARG [SELECTION_ARG ...]] [--models SELECTOR [SELECTOR ...]] [--exclude SELECTOR [SELECTOR ...]] @@ -93,6 +93,16 @@ $ dbt ls --select snowplow.* --output json --output-keys name resource_type desc + + +**Listing Semantic models** + +``` +$ dbt ls -s +semantic_model:number + +``` + + **Listing file paths** ``` From d4992113bfcaa8548e8305b9d4eb393fcabcde8d Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 28 Sep 2023 16:18:00 -0400 Subject: [PATCH 011/216] Adding to "methods" page --- website/docs/reference/node-selection/methods.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/website/docs/reference/node-selection/methods.md b/website/docs/reference/node-selection/methods.md index 2647f3416a3..18009679924 100644 --- a/website/docs/reference/node-selection/methods.md +++ b/website/docs/reference/node-selection/methods.md @@ -352,3 +352,16 @@ dbt list --select version:none # models that are *not* versioned ``` + + + +The `semantic_model` method selects [semantic models](/docs/build/semantic-models). + +```bash + +dbt ls --resource-type semantic_model # lists the semantic model resource type +dbt ls -s +semantic_model:number # lists the quantity of semantic models + +``` + + \ No newline at end of file From 904d209338411413b74ff47571458b531c6ffc06 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 2 Oct 2023 10:38:48 +0100 Subject: [PATCH 012/216] update tabs --- website/docs/docs/dbt-cloud-apis/sl-jdbc.md | 19 ++++++++++++------- website/docs/guides/migration/sl-migration.md | 4 ++-- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md index 5c31f37f219..47ff21f316e 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md +++ b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md @@ -5,7 +5,6 @@ description: "Integrate and use the JDBC API to query your metrics." tags: [Semantic Layer, API] --- - import LegacyInfo from '/snippets/_legacy-sl-callout.md'; @@ -57,11 +56,13 @@ jdbc:arrow-flight-sql://semantic-layer.cloud.getdbt.com:443?&environmentId=20233 ## Querying the API for metric metadata -The Semantic Layer JDBC API has built-in metadata calls which can provide a user with information about their metrics and dimensions. Here are some metadata commands and examples: +The Semantic Layer JDBC API has built-in metadata calls which can provide a user with information about their metrics and dimensions. + +Refer to the following tabs for metadata commands and examples: - + Use this query to fetch all defined metrics in your dbt project: @@ -72,7 +73,7 @@ select * from {{ ``` - + Use this query to fetch all dimensions for a metric. @@ -85,7 +86,7 @@ select * from {{ - + Use this query to fetch dimension values for one or multiple metrics and single dimension. @@ -98,7 +99,7 @@ semantic_layer.dimension_values(metrics=['food_order_amount'], group_by=['custom - + Use this query to fetch queryable granularities for a list of metrics. This API request allows you to only show the time granularities that make sense for the primary time dimension of the metrics (such as `metric_time`), but if you want queryable granularities for other time dimensions, you can use the `dimensions()` call, and find the column queryable_granularities. @@ -111,6 +112,9 @@ select * from {{ + + + @@ -142,9 +146,10 @@ select NAME, QUERYABLE_GRANULARITIES from {{ - + It may be useful in your application to expose the names of the time dimensions that represent `metric_time` or the common thread across all metrics. + You can first query the `metrics()` argument to fetch a list of measures, then use the `measures()` call which will return the name(s) of the time dimensions that make up metric time. ```bash diff --git a/website/docs/guides/migration/sl-migration.md b/website/docs/guides/migration/sl-migration.md index baa7ae4a567..feb10154bee 100644 --- a/website/docs/guides/migration/sl-migration.md +++ b/website/docs/guides/migration/sl-migration.md @@ -65,8 +65,8 @@ This step is only relevant to users who want the legacy and new semantic layer t 1. Create a new deployment environment in dbt Cloud and set the dbt version to 1.6 or higher. 2. Choose `Only run on a custom branch` and point to the branch that has the updated metric definition 3. Set the deployment schema to a temporary migration schema, such as `tmp_sl_migration`. Optional, you can create a new database for the migration. -4. Create a job to parse your project, such as `dbt parse`, and run it. Make sure this job succeeds, There needs to be a successful job in your environment in order to set up the semantic layer -5. In Account Settings > Projects > Project details click `Configure the Semantic Layer`. Under **Environment**select the deployment environment you created in the previous step. Save your configuration. +4. Create a job to parse your project, such as `dbt parse`, and run it. Make sure this job succeeds, there needs to be a successful job in your environment in order to set up the semantic layer +5. In Account Settings > Projects > Project details click `Configure the Semantic Layer`. Under **Environment**, select the deployment environment you created in the previous step. Save your configuration. 6. In the Project details page, click `Generate service token` and grant it `Semantic Layer Only` and `Metadata Only` permissions. Save this token securely - you will need it to connect to the semantic layer. At this point, both the new semantic layer and the old semantic layer will be running. The new semantic layer will be pointing at your migration branch with the updated metrics definitions. From 0ba851022cce6955ba6e431ca804de6ea118b2f0 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 2 Oct 2023 15:16:25 +0100 Subject: [PATCH 013/216] clarify integrations --- website/snippets/_sl-partner-links.md | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/website/snippets/_sl-partner-links.md b/website/snippets/_sl-partner-links.md index e9cc6af3564..2f62974d810 100644 --- a/website/snippets/_sl-partner-links.md +++ b/website/snippets/_sl-partner-links.md @@ -1,11 +1,23 @@ -The dbt Semantic Layer integrations are capable of querying dbt metrics, importing definitions, surfacing the underlying data in partner tools, and more. These are the following tools that integrate with the dbt Semantic Layer: +## Integrations -1. **Mode** — To learn more about integrating with Mode, check out their [documentation](https://mode.com/help/articles/supported-databases/#dbt-semantic-layer) for more info. -2. **Hex** — To learn more about integrating with Hex, check out their [documentation](https://learn.hex.tech/docs/connect-to-data/data-connections/dbt-integration#dbt-semantic-layer-integration) for more info. Additionally, refer to [dbt Semantic Layer cells](https://learn.hex.tech/docs/logic-cell-types/transform-cells/dbt-metrics-cells) to set up SQL cells in Hex. -3. **Google Sheets** — Google Sheets integration coming soon. -4. **Tools that allows you to write SQL** — They must meet one of the two criteria: - * Supports a generic JDBC driver option (such as DataGrip) or - * Supports Dremio and uses ArrowFlightSQL driver version 12.0.0 or higher. +The dbt Semantic Layer integrations can do things like query dbt metrics, import definitions, surface the underlying data in partner tools, and more. + +The tools that work with the dbt Semantic Layer include: + +1. **Mode**
+To learn more about integrating with Mode, check out their [documentation](https://mode.com/help/articles/supported-databases/#dbt-semantic-layer) for more info. + +1. **Hex**
+To learn more about integrating with Hex, check out their [documentation](https://learn.hex.tech/docs/connect-to-data/data-connections/dbt-integration#dbt-semantic-layer-integration) for more info. Additionally, refer to [dbt Semantic Layer cells](https://learn.hex.tech/docs/logic-cell-types/transform-cells/dbt-metrics-cells) to set up SQL cells in Hex. + +1. **Google Sheets**
+Google Sheets integration coming soon. + +1. **Tools that allows you to write SQL**
+To connect to tools that allow you to write SQL, they must meet one of the two criteria: + - Supports a generic JDBC driver option (such as DataGrip) or + - Supports Dremio and uses ArrowFlightSQL driver version 12.0.0 or higher. Before you connect to these tools, you'll need to first [set up the dbt Semantic Layer](/docs/use-dbt-semantic-layer/setup-sl) and [generate a service token](/docs/dbt-cloud-apis/service-tokens) to create a Semantic Layer Only and Metadata Only service token. + From 51a85a6e73d246f96ade9e4d11d4a68401dea8c2 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Mon, 2 Oct 2023 11:19:55 -0400 Subject: [PATCH 014/216] more trusted adapters --- website/snippets/_adapters-trusted.md | 10 ++ website/static/img/icons/materialize.svg | 20 +++ website/static/img/icons/oracle.svg | 155 ++++++++++++++++++ .../static/img/icons/white/materialize.svg | 20 +++ website/static/img/icons/white/oracle.svg | 155 ++++++++++++++++++ 5 files changed, 360 insertions(+) create mode 100644 website/static/img/icons/materialize.svg create mode 100644 website/static/img/icons/oracle.svg create mode 100644 website/static/img/icons/white/materialize.svg create mode 100644 website/static/img/icons/white/oracle.svg diff --git a/website/snippets/_adapters-trusted.md b/website/snippets/_adapters-trusted.md index 10af0218e22..d94a87dd153 100644 --- a/website/snippets/_adapters-trusted.md +++ b/website/snippets/_adapters-trusted.md @@ -5,4 +5,14 @@ body="Install using the CLI

" icon="athena"/> + + + + diff --git a/website/static/img/icons/materialize.svg b/website/static/img/icons/materialize.svg new file mode 100644 index 00000000000..92f693cd94f --- /dev/null +++ b/website/static/img/icons/materialize.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + diff --git a/website/static/img/icons/oracle.svg b/website/static/img/icons/oracle.svg new file mode 100644 index 00000000000..59aa1f16c8e --- /dev/null +++ b/website/static/img/icons/oracle.svg @@ -0,0 +1,155 @@ + + + + + + + + 2022-03-04T16:18:02-06:00 + xmp.iid:a6ee7346-7ecf-4262-873c-5321b0da03f3 + xmp.did:2d9bf348-863c-4d93-ac30-a8107201442a + xmp.did:2d9bf348-863c-4d93-ac30-a8107201442a + + + + + saved + xmp.iid:2d9bf348-863c-4d93-ac30-a8107201442a + 2021-04-27T13:41:28-05:00 + Adobe Bridge 2021 (Macintosh) + /metadata + + + + + saved + xmp.iid:a6ee7346-7ecf-4262-873c-5321b0da03f3 + 2022-03-04T16:18:02-06:00 + Adobe Bridge 2021 (Macintosh) + /metadata + + + + + True + + + icon + Data + aggregation + management + system + business + intelligence + analytics + store + analysis + icon + Business + Data + machine learning + artificial intelligence + automate + automatization + security + backup + update + task + ADCS + autonomous + service + + + + + Oracle All Rights Reserved + + + + + Data Management + Service + Autonomous + Database + Cloud + icon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/static/img/icons/white/materialize.svg b/website/static/img/icons/white/materialize.svg new file mode 100644 index 00000000000..92f693cd94f --- /dev/null +++ b/website/static/img/icons/white/materialize.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + diff --git a/website/static/img/icons/white/oracle.svg b/website/static/img/icons/white/oracle.svg new file mode 100644 index 00000000000..59aa1f16c8e --- /dev/null +++ b/website/static/img/icons/white/oracle.svg @@ -0,0 +1,155 @@ + + + + + + + + 2022-03-04T16:18:02-06:00 + xmp.iid:a6ee7346-7ecf-4262-873c-5321b0da03f3 + xmp.did:2d9bf348-863c-4d93-ac30-a8107201442a + xmp.did:2d9bf348-863c-4d93-ac30-a8107201442a + + + + + saved + xmp.iid:2d9bf348-863c-4d93-ac30-a8107201442a + 2021-04-27T13:41:28-05:00 + Adobe Bridge 2021 (Macintosh) + /metadata + + + + + saved + xmp.iid:a6ee7346-7ecf-4262-873c-5321b0da03f3 + 2022-03-04T16:18:02-06:00 + Adobe Bridge 2021 (Macintosh) + /metadata + + + + + True + + + icon + Data + aggregation + management + system + business + intelligence + analytics + store + analysis + icon + Business + Data + machine learning + artificial intelligence + automate + automatization + security + backup + update + task + ADCS + autonomous + service + + + + + Oracle All Rights Reserved + + + + + Data Management + Service + Autonomous + Database + Cloud + icon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 1be458c80991b49fdd62b6f67222b0f9228d7d62 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 3 Oct 2023 09:28:51 +0100 Subject: [PATCH 015/216] Update _adapters-trusted.md --- website/snippets/_adapters-trusted.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/website/snippets/_adapters-trusted.md b/website/snippets/_adapters-trusted.md index d94a87dd153..003c12cc370 100644 --- a/website/snippets/_adapters-trusted.md +++ b/website/snippets/_adapters-trusted.md @@ -2,17 +2,20 @@ From 07b58a08971daf077e77c7c60c3eb0a295e6ee94 Mon Sep 17 00:00:00 2001 From: Aaron Raff Date: Wed, 4 Oct 2023 17:17:43 -0400 Subject: [PATCH 016/216] ci-jobs: document temp schema macro limitation Converts the "Temporary schemas aren't dropping" section into a list of items. The first item remains the same, but a new item was added to note that schemas will not be dropped unless they were written to as a result of running a dbt model. --- website/docs/docs/deploy/ci-jobs.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/website/docs/docs/deploy/ci-jobs.md b/website/docs/docs/deploy/ci-jobs.md index fb603e2864e..4a95a8bf8df 100644 --- a/website/docs/docs/deploy/ci-jobs.md +++ b/website/docs/docs/deploy/ci-jobs.md @@ -94,10 +94,18 @@ If you're experiencing any issues, review some of the common questions and answe
Temporary schemas aren't dropping
-
If your temporary schemas aren't dropping after a PR merges or closes, this typically indicates you have overridden the generate_schema_name macro and it isn't using dbt_cloud_pr_ as the prefix.



To resolve this, change your macro so that the temporary PR schema name contains the required prefix. For example: +
If your temporary schemas aren't dropping after a PR merges or closes, this typically indicates one of two issues: +
    +
  • You have overridden the generate_schema_name macro and it isn't using dbt_cloud_pr_ as the prefix.



    To resolve this, change your macro so that the temporary PR schema name contains the required prefix. For example:



    - • ✅ Temporary PR schema name contains the prefix dbt_cloud_pr_ (like dbt_cloud_pr_123_456_marketing)

    - • ❌ Temporary PR schema name doesn't contain the prefix dbt_cloud_pr_ (like marketing).

    + ✅ Temporary PR schema name contains the prefix dbt_cloud_pr_ (like dbt_cloud_pr_123_456_marketing)

    + ❌ Temporary PR schema name doesn't contain the prefix dbt_cloud_pr_ (like marketing).

    +
  • +
    +
  • + A macro is creating a schema, but no dbt models are writing to that schema. dbt Cloud does not drop temporary schemas that were not written to as a result of running a dbt model. +
  • +
@@ -153,6 +161,3 @@ If you're experiencing any issues, review some of the common questions and answe If you're on a Virtual Private dbt Enterprise plan using security features like ingress PrivateLink or IP Allowlisting, registering CI hooks may not be available and can cause the job to fail silently. - - - From 3a53c5c4444bee6ea456e50b942fd07fe5d9558a Mon Sep 17 00:00:00 2001 From: Jessica Date: Thu, 5 Oct 2023 10:55:03 -0400 Subject: [PATCH 017/216] Clairy format required for specifiying roles --- .../docs/docs/core/connect-data-platform/trino-setup.md | 2 +- .../connect-starburst-trino/roles-starburst-enterprise.md | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/core/connect-data-platform/trino-setup.md b/website/docs/docs/core/connect-data-platform/trino-setup.md index 396634dc6e6..70ecdbdfc96 100644 --- a/website/docs/docs/core/connect-data-platform/trino-setup.md +++ b/website/docs/docs/core/connect-data-platform/trino-setup.md @@ -83,7 +83,7 @@ The following profile fields are optional to set up. They let you configure your | Profile field | Example | Description | | ----------------------------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------- | | `threads` | `8` | How many threads dbt should use (default is `1`) | -| `roles` | `system: analyst` | Catalog roles | +| `roles` | `system: analyst` | Catalog roles can be set under the optional `roles` parameter using following format: `catalog: role`. | | `session_properties` | `query_max_run_time: 4h` | Sets Trino session properties used in the connection. Execute `SHOW SESSION` to see available options | | `prepared_statements_enabled` | `true` or `false` | Enable usage of Trino prepared statements (used in `dbt seed` commands) (default: `true`) | | `retries` | `10` | Configure how many times all database operation is retried when connection issues arise (default: `3`) | diff --git a/website/snippets/connect-starburst-trino/roles-starburst-enterprise.md b/website/snippets/connect-starburst-trino/roles-starburst-enterprise.md index ba11508f1b4..f832d52be20 100644 --- a/website/snippets/connect-starburst-trino/roles-starburst-enterprise.md +++ b/website/snippets/connect-starburst-trino/roles-starburst-enterprise.md @@ -1,3 +1,6 @@ -[comment: For context, the section title used for this snippet is "Roles in Starburst Enterprise" ]: # +[comment: For context, the section title used for this snippet is "Roles in Starburst Enterprise" ]: # -If connecting to a Starburst Enterprise cluster with built-in access controls enabled, you can't add the role as a suffix to the username, so the default role for the provided username is used instead. +If connecting to a Starburst Enterprise cluster with built-in access controls +enabled, you must specify a role using the format detailed in [Additional +parameters](#additional-parameters). If a role is not specified, the default +role for the provided username is used. \ No newline at end of file From f6556049b2dd15251ef54bffb0f9e584da807603 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Thu, 5 Oct 2023 12:03:16 -0400 Subject: [PATCH 018/216] new oracle logo --- website/static/img/icons/oracle.svg | 162 +--------------------- website/static/img/icons/white/oracle.svg | 162 +--------------------- 2 files changed, 14 insertions(+), 310 deletions(-) diff --git a/website/static/img/icons/oracle.svg b/website/static/img/icons/oracle.svg index 59aa1f16c8e..67b464426de 100644 --- a/website/static/img/icons/oracle.svg +++ b/website/static/img/icons/oracle.svg @@ -1,155 +1,7 @@ - - - - - - - - 2022-03-04T16:18:02-06:00 - xmp.iid:a6ee7346-7ecf-4262-873c-5321b0da03f3 - xmp.did:2d9bf348-863c-4d93-ac30-a8107201442a - xmp.did:2d9bf348-863c-4d93-ac30-a8107201442a - - - - - saved - xmp.iid:2d9bf348-863c-4d93-ac30-a8107201442a - 2021-04-27T13:41:28-05:00 - Adobe Bridge 2021 (Macintosh) - /metadata - - - - - saved - xmp.iid:a6ee7346-7ecf-4262-873c-5321b0da03f3 - 2022-03-04T16:18:02-06:00 - Adobe Bridge 2021 (Macintosh) - /metadata - - - - - True - - - icon - Data - aggregation - management - system - business - intelligence - analytics - store - analysis - icon - Business - Data - machine learning - artificial intelligence - automate - automatization - security - backup - update - task - ADCS - autonomous - service - - - - - Oracle All Rights Reserved - - - - - Data Management - Service - Autonomous - Database - Cloud - icon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + \ No newline at end of file diff --git a/website/static/img/icons/white/oracle.svg b/website/static/img/icons/white/oracle.svg index 59aa1f16c8e..67b464426de 100644 --- a/website/static/img/icons/white/oracle.svg +++ b/website/static/img/icons/white/oracle.svg @@ -1,155 +1,7 @@ - - - - - - - - 2022-03-04T16:18:02-06:00 - xmp.iid:a6ee7346-7ecf-4262-873c-5321b0da03f3 - xmp.did:2d9bf348-863c-4d93-ac30-a8107201442a - xmp.did:2d9bf348-863c-4d93-ac30-a8107201442a - - - - - saved - xmp.iid:2d9bf348-863c-4d93-ac30-a8107201442a - 2021-04-27T13:41:28-05:00 - Adobe Bridge 2021 (Macintosh) - /metadata - - - - - saved - xmp.iid:a6ee7346-7ecf-4262-873c-5321b0da03f3 - 2022-03-04T16:18:02-06:00 - Adobe Bridge 2021 (Macintosh) - /metadata - - - - - True - - - icon - Data - aggregation - management - system - business - intelligence - analytics - store - analysis - icon - Business - Data - machine learning - artificial intelligence - automate - automatization - security - backup - update - task - ADCS - autonomous - service - - - - - Oracle All Rights Reserved - - - - - Data Management - Service - Autonomous - Database - Cloud - icon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + \ No newline at end of file From d91076cc8ab51c3dd2a1475f0d42872f05553f83 Mon Sep 17 00:00:00 2001 From: zesuma Date: Thu, 5 Oct 2023 12:31:36 -0400 Subject: [PATCH 019/216] update the link colors on darkmode --- website/src/css/custom.css | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/website/src/css/custom.css b/website/src/css/custom.css index 3181738406d..8c71696cf32 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -58,7 +58,7 @@ --pagination-icon-prev: "\2190"; --filter-brightness-low: 1.1; --filter-brightness-high: 1.5; - + --darkmode-link-color: #1FA4A3; --light-dark-toggle: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuMzA4IDMuMzg1YzAtMS4xNzguMTczLTIuMzcuNjE1LTMuMzg1QzEuOTgzIDEuMjggMCA0LjI4MiAwIDcuNjkyQTguMzA4IDguMzA4IDAgMCAwIDguMzA4IDE2YzMuNDEgMCA2LjQxMi0xLjk4MyA3LjY5Mi00LjkyMy0xLjAxNS40NDItMi4yMDcuNjE1LTMuMzg1LjYxNWE4LjMwOCA4LjMwOCAwIDAgMS04LjMwNy04LjMwN1oiIGZpbGw9IiM5MkEwQjMiLz48L3N2Zz4="; /* search overrides */ @@ -104,10 +104,10 @@ html[data-theme="dark"] { /* Linked `code` tags visibility adjustment */ html[data-theme=dark] a code { - color: var(--ifm-link-color); + color: var(--darkmode-link-color); } html[data-theme=dark] a code:hover { - color: var(--ifm-link-hover-color);; + color: var(--darkmode-link-color); } /* For /dbt-cloud/api REDOC Page */ @@ -122,11 +122,11 @@ html[data-theme="dark"] .api-content h1 { html[data-theme="dark"] .api-content button, html[data-theme="dark"] .api-content a { - filter: brightness(1.25); + filter: brightness(var(--filter-brightness-low)); } html[data-theme="dark"] .api-content a:hover { - filter: brightness(1.25); + filter: brightness(var(--filter-brightness-low)); } .redoc-wrap .api-content a, @@ -165,8 +165,19 @@ table td { vertical-align: top; } +html[data-theme="dark"] main .row .col:first-of-type a { + color: var(--darkmode-link-color); +} + +html[data-theme="dark"] main .row .col:first-of-type a:hover { + filter: brightness(var(--filter-brightness-low)); +} + +html[data-theme="dark"] main .row .col:first-of-type a article * { + color: white; +} + html[data-theme="dark"] table td { - filter: brightness(1.5); color: white; } @@ -668,6 +679,14 @@ i.theme-doc-sidebar-item-category.theme-doc-sidebar-item-category-level-2.menu__ color: var(--ifm-color-gray-900); } +.alert--secondary, +.alert--secondary a, +.alert--secondary svg { + --ifm-alert-background-color: #474748; + color: white !important; + fill: white !important; +} + html[data-theme="dark"] .alert * { --ifm-alert-foreground-color: var(--ifm-color-gray-900); } @@ -683,7 +702,7 @@ html[data-theme="dark"] .alert table { .alert--success a, .alert--danger a, .alert--warning a { - color: var(--ifm-color-gray-900); + color: var(--ifm-color-gray-900) !important; } .linkout { @@ -949,7 +968,7 @@ html[data-theme="dark"] .blog-breadcrumbs a[href="#"] { } html[data-theme="dark"] .blog-breadcrumbs a:not(:last-of-type):after { - color: var(--ifm-link-color); + color: var(--darkmode-link-color); } html[data-theme="dark"] .breadcrumbs__item--active .breadcrumbs__link { @@ -1053,7 +1072,7 @@ article[itemprop="blogPost"] h2 { /* copyright */ .footer__bottom { text-align: left; - color: var(--color-footer-accent); + color: white; font-size: 0.875rem; } From 91fe14310fb56984f6e15554b6d888214d19510b Mon Sep 17 00:00:00 2001 From: zesuma Date: Thu, 5 Oct 2023 16:46:52 -0400 Subject: [PATCH 020/216] add darkmode styles for blog links --- website/src/css/custom.css | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/website/src/css/custom.css b/website/src/css/custom.css index 8c71696cf32..dff5113536a 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -861,6 +861,14 @@ div .toggle_src-components-faqs-styles-module { gap: 1em; } +html[data-theme="dark"] .pagination-nav a { + color: var(--darkmode-link-color); +} + +html[data-theme="dark"] .pagination-nav a:hover { + filter: brightness(var(--filter-brightness-low)); +} + .pagination-nav__link { padding: 1rem 0; transition: 100ms all ease-in-out; @@ -967,7 +975,8 @@ html[data-theme="dark"] .blog-breadcrumbs a[href="#"] { filter: brightness(var(--filter-brightness-low)); } -html[data-theme="dark"] .blog-breadcrumbs a:not(:last-of-type):after { +html[data-theme="dark"] .blog-breadcrumbs a:not(:last-of-type):after, +html[data-theme="dark"] .blog-breadcrumbs a { color: var(--darkmode-link-color); } @@ -1012,6 +1021,21 @@ article[itemprop="blogPost"] h2 { font-size: 2rem; } +html[data-theme="dark"] article[itemprop="blogPost"] a { + color: var(--darkmode-link-color); +} + +html[data-theme="dark"] article[itemprop="blogPost"] a:hover { + filter: brightness(var(--filter-brightness-low)); +} + +/* Sidebar Nav */ +html[data-theme="dark"] .main-wrapper nav a:hover, +html[data-theme="dark"] .main-wrapper nav a:active { + color: var(--darkmode-link-color) !important; + filter: brightness(var(--filter-brightness-low)); +} + /* footer styles */ .footer { font-weight: var(--ifm-font-weight-narrow); From ba924fd58dd0f119a73616b4cb5c83c99deddc75 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:12:49 +0100 Subject: [PATCH 021/216] Update reference-models-in-another-project.md add info on project dependencies. Closes #4026 --- .../reference-models-in-another-project.md | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/website/docs/faqs/Models/reference-models-in-another-project.md b/website/docs/faqs/Models/reference-models-in-another-project.md index 19f3f52da31..fc06d1dfa4f 100644 --- a/website/docs/faqs/Models/reference-models-in-another-project.md +++ b/website/docs/faqs/Models/reference-models-in-another-project.md @@ -3,9 +3,23 @@ title: How can I reference models or macros in another project? description: "Use packages to add another project to your dbt project" sidebar_label: 'Reference models or macros in another project' id: reference-models-in-another-project - +keywords: + - project dependency, project dependencies, ref project, dbt mesh, multi-project, mesh, cross-project dependencies --- -You can use [packages](/docs/build/packages) to add another project to your dbt -project, including other projects you've created. Check out the [docs](/docs/build/packages) +You Check out the [docs](/docs/build/packages) for more information! + + +I dbt, you can manage dependencies across multiple dbt projects using: + +1. **Packages**: You can import [packages](/docs/build/packages) as a way to add another project to your dbt project, including other projects you've created. When you install a project as a package, you bring in its entire source code, making its macros and models available in your own project. + +While this is useful for code reuse and sharing utility macros, it may not be the best approach for large-scale collaboration, especially in larger organizations. + +4. **Project dependencies**: You can use [project dependencies](/docs/collaborate/govern/project-dependencies) as an exciting way to depend on another project using the metadata service in dbt Cloud. It instantly resolves references to public models defined in other projects. You don't need to execute or analyze these upstream models yourself. Instead, you treat them as an API that returns a dataset. The responsibility for maintaining the quality and stability of these public models lies with their respective maintainers. + +This approach offers more flexibility and scalability for collaboration, making it easier to work with external projects while ensuring data quality and consistency. + + + From 8b8d91f8ad2959f6fee68a9b519e1cc0b8e84b88 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:14:14 +0100 Subject: [PATCH 022/216] Update website/docs/faqs/Models/reference-models-in-another-project.md --- website/docs/faqs/Models/reference-models-in-another-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/faqs/Models/reference-models-in-another-project.md b/website/docs/faqs/Models/reference-models-in-another-project.md index fc06d1dfa4f..17790152493 100644 --- a/website/docs/faqs/Models/reference-models-in-another-project.md +++ b/website/docs/faqs/Models/reference-models-in-another-project.md @@ -11,7 +11,7 @@ You Check out the [docs](/docs/build/packages) for more information! -I dbt, you can manage dependencies across multiple dbt projects using: +Im dbt, you can manage dependencies across multiple dbt projects using: 1. **Packages**: You can import [packages](/docs/build/packages) as a way to add another project to your dbt project, including other projects you've created. When you install a project as a package, you bring in its entire source code, making its macros and models available in your own project. From c7f009e9eeddb7a18cc202969577f930db37e4c6 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:14:36 +0100 Subject: [PATCH 023/216] Update reference-models-in-another-project.md --- .../faqs/Models/reference-models-in-another-project.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/website/docs/faqs/Models/reference-models-in-another-project.md b/website/docs/faqs/Models/reference-models-in-another-project.md index 17790152493..619a38e336f 100644 --- a/website/docs/faqs/Models/reference-models-in-another-project.md +++ b/website/docs/faqs/Models/reference-models-in-another-project.md @@ -7,17 +7,13 @@ keywords: - project dependency, project dependencies, ref project, dbt mesh, multi-project, mesh, cross-project dependencies --- -You Check out the [docs](/docs/build/packages) -for more information! - - -Im dbt, you can manage dependencies across multiple dbt projects using: +I dbt, you can manage dependencies across multiple dbt projects using: 1. **Packages**: You can import [packages](/docs/build/packages) as a way to add another project to your dbt project, including other projects you've created. When you install a project as a package, you bring in its entire source code, making its macros and models available in your own project. While this is useful for code reuse and sharing utility macros, it may not be the best approach for large-scale collaboration, especially in larger organizations. -4. **Project dependencies**: You can use [project dependencies](/docs/collaborate/govern/project-dependencies) as an exciting way to depend on another project using the metadata service in dbt Cloud. It instantly resolves references to public models defined in other projects. You don't need to execute or analyze these upstream models yourself. Instead, you treat them as an API that returns a dataset. The responsibility for maintaining the quality and stability of these public models lies with their respective maintainers. +2. **Project dependencies**: You can use [project dependencies](/docs/collaborate/govern/project-dependencies) as an exciting way to depend on another project using the metadata service in dbt Cloud. It instantly resolves references to public models defined in other projects. You don't need to execute or analyze these upstream models yourself. Instead, you treat them as an API that returns a dataset. The responsibility for maintaining the quality and stability of these public models lies with their respective maintainers. This approach offers more flexibility and scalability for collaboration, making it easier to work with external projects while ensuring data quality and consistency. From 993e718b160fbe1903e5dfedf80b9435a36ec94f Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:14:51 +0100 Subject: [PATCH 024/216] Update website/docs/faqs/Models/reference-models-in-another-project.md --- website/docs/faqs/Models/reference-models-in-another-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/faqs/Models/reference-models-in-another-project.md b/website/docs/faqs/Models/reference-models-in-another-project.md index 619a38e336f..2c4ffba8374 100644 --- a/website/docs/faqs/Models/reference-models-in-another-project.md +++ b/website/docs/faqs/Models/reference-models-in-another-project.md @@ -7,7 +7,7 @@ keywords: - project dependency, project dependencies, ref project, dbt mesh, multi-project, mesh, cross-project dependencies --- -I dbt, you can manage dependencies across multiple dbt projects using: +In dbt, you can manage dependencies across multiple dbt projects using: 1. **Packages**: You can import [packages](/docs/build/packages) as a way to add another project to your dbt project, including other projects you've created. When you install a project as a package, you bring in its entire source code, making its macros and models available in your own project. From 58376bad5e911e5944b705c4a02bd48f708d0252 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:15:33 +0100 Subject: [PATCH 025/216] Update website/docs/faqs/Models/reference-models-in-another-project.md --- website/docs/faqs/Models/reference-models-in-another-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/faqs/Models/reference-models-in-another-project.md b/website/docs/faqs/Models/reference-models-in-another-project.md index 2c4ffba8374..ef9c0ba4dfa 100644 --- a/website/docs/faqs/Models/reference-models-in-another-project.md +++ b/website/docs/faqs/Models/reference-models-in-another-project.md @@ -11,7 +11,7 @@ In dbt, you can manage dependencies across multiple dbt projects using: 1. **Packages**: You can import [packages](/docs/build/packages) as a way to add another project to your dbt project, including other projects you've created. When you install a project as a package, you bring in its entire source code, making its macros and models available in your own project. -While this is useful for code reuse and sharing utility macros, it may not be the best approach for large-scale collaboration, especially in larger organizations. +While this is useful for reusing code and sharing utility macros, it may not be the best approach for large-scale collaboration, especially in larger organizations. 2. **Project dependencies**: You can use [project dependencies](/docs/collaborate/govern/project-dependencies) as an exciting way to depend on another project using the metadata service in dbt Cloud. It instantly resolves references to public models defined in other projects. You don't need to execute or analyze these upstream models yourself. Instead, you treat them as an API that returns a dataset. The responsibility for maintaining the quality and stability of these public models lies with their respective maintainers. From acae90d1a913dbc817358c6664cad332345745e2 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:16:00 +0100 Subject: [PATCH 026/216] Update website/docs/faqs/Models/reference-models-in-another-project.md --- website/docs/faqs/Models/reference-models-in-another-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/faqs/Models/reference-models-in-another-project.md b/website/docs/faqs/Models/reference-models-in-another-project.md index ef9c0ba4dfa..fe83fdbdbe8 100644 --- a/website/docs/faqs/Models/reference-models-in-another-project.md +++ b/website/docs/faqs/Models/reference-models-in-another-project.md @@ -9,7 +9,7 @@ keywords: In dbt, you can manage dependencies across multiple dbt projects using: -1. **Packages**: You can import [packages](/docs/build/packages) as a way to add another project to your dbt project, including other projects you've created. When you install a project as a package, you bring in its entire source code, making its macros and models available in your own project. +1. **Packages**: You can install [packages](/docs/build/packages) as a way to add another project to your dbt project, including other projects you've created. When you install a project as a package, you bring in its entire source code, making its macros and models available in your own project. While this is useful for reusing code and sharing utility macros, it may not be the best approach for large-scale collaboration, especially in larger organizations. From 03cc1fb963ba036112beaec91ded0ab692e97b4a Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:16:32 +0100 Subject: [PATCH 027/216] Update website/docs/faqs/Models/reference-models-in-another-project.md --- website/docs/faqs/Models/reference-models-in-another-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/faqs/Models/reference-models-in-another-project.md b/website/docs/faqs/Models/reference-models-in-another-project.md index fe83fdbdbe8..f305bc2ba0f 100644 --- a/website/docs/faqs/Models/reference-models-in-another-project.md +++ b/website/docs/faqs/Models/reference-models-in-another-project.md @@ -11,7 +11,7 @@ In dbt, you can manage dependencies across multiple dbt projects using: 1. **Packages**: You can install [packages](/docs/build/packages) as a way to add another project to your dbt project, including other projects you've created. When you install a project as a package, you bring in its entire source code, making its macros and models available in your own project. -While this is useful for reusing code and sharing utility macros, it may not be the best approach for large-scale collaboration, especially in larger organizations. +While this is useful for reusing code and sharing macros, it may not be the best approach for large-scale collaboration, especially in larger organizations. 2. **Project dependencies**: You can use [project dependencies](/docs/collaborate/govern/project-dependencies) as an exciting way to depend on another project using the metadata service in dbt Cloud. It instantly resolves references to public models defined in other projects. You don't need to execute or analyze these upstream models yourself. Instead, you treat them as an API that returns a dataset. The responsibility for maintaining the quality and stability of these public models lies with their respective maintainers. From 090c4f7f4c341bbc1deee4f1e840879562a1c49c Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Fri, 6 Oct 2023 10:52:22 -0400 Subject: [PATCH 028/216] updated logo --- website/snippets/_adapters-trusted.md | 2 +- website/static/img/icons/oracle.svg | 52 ++++++++++++++++++++--- website/static/img/icons/white/oracle.svg | 52 ++++++++++++++++++++--- 3 files changed, 93 insertions(+), 13 deletions(-) diff --git a/website/snippets/_adapters-trusted.md b/website/snippets/_adapters-trusted.md index 003c12cc370..96f62a925eb 100644 --- a/website/snippets/_adapters-trusted.md +++ b/website/snippets/_adapters-trusted.md @@ -13,7 +13,7 @@ icon="materialize"/> diff --git a/website/static/img/icons/oracle.svg b/website/static/img/icons/oracle.svg index 67b464426de..6868dea2eb3 100644 --- a/website/static/img/icons/oracle.svg +++ b/website/static/img/icons/oracle.svg @@ -1,7 +1,47 @@ - - - - - + + + + \ No newline at end of file diff --git a/website/static/img/icons/white/oracle.svg b/website/static/img/icons/white/oracle.svg index 67b464426de..6868dea2eb3 100644 --- a/website/static/img/icons/white/oracle.svg +++ b/website/static/img/icons/white/oracle.svg @@ -1,7 +1,47 @@ - - - - - + + + + \ No newline at end of file From 129ccc10d3e5017c52c914d2c7e8479d44611e85 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Fri, 6 Oct 2023 11:21:38 -0700 Subject: [PATCH 029/216] Retry jobs --- website/docs/docs/deploy/retry-jobs.md | 32 ++++++++++++++++++ website/sidebars.js | 1 + .../static/img/docs/deploy/native-retry.gif | Bin 0 -> 435573 bytes 3 files changed, 33 insertions(+) create mode 100644 website/docs/docs/deploy/retry-jobs.md create mode 100644 website/static/img/docs/deploy/native-retry.gif diff --git a/website/docs/docs/deploy/retry-jobs.md b/website/docs/docs/deploy/retry-jobs.md new file mode 100644 index 00000000000..1f9e279bc50 --- /dev/null +++ b/website/docs/docs/deploy/retry-jobs.md @@ -0,0 +1,32 @@ +--- +title: "Retry your dbt jobs" +sidebar_label: "Retry jobs" +description: "Rerun your errored jobs from start or the failure point." +--- + +If your dbt job run completed with a status of `result:error` , you can rerun it from start or from the point of failure in dbt Cloud. + +## Prerequisites + +- You have a [dbt Cloud account](https://www.getdbt.com/signup). +- You must be using [dbt version](/docs/dbt-versions/upgrade-core-in-cloud) 1.6 or newer. +- There does not exist a more recent run of the job that completed successfully. The latest status of the run is `error`. + - The job command that failed in the run must be one that supports the [retry command](/reference/commands/retry). + +## Rerun an errored job + +1. Select **Deploy** from the top navigation bar and choose **Run History.** +2. Choose the job run that has errored. +3. In the **Run Summary** tab on the job’s **Run** page, expand the run step that failed. It’s denoted by an :x:. +4. Examine the error message and determine how to fix it. After you have made your changes, save and commit them to your [Git repo](/docs/collaborate/git-version-control). +5. Go back to your job’s **Run** page. In the upper right corner, click **Rerun** and choose **Rerun from start** or **Rerun from failure**. + + If you choose to rerun from the failure point, a **Rerun failed steps** modal will appear. It lists the run steps it will invoke which will include the failed step and the steps it previously wasn’t able to invoke (skipped steps). To confirm, click **Rerun from failure**. The job reruns from the failed command in the previously failed run. This is denoted at the top of the **Run Summary** tab by a message "This run resumed execution from last failed step" . + + + +## Related content + +- [Run visibility](/docs/deploy/run-visibility) +- [Jobs](/docs/deploy/jobs) +- [Job commands](/docs/deploy/job-commands) \ No newline at end of file diff --git a/website/sidebars.js b/website/sidebars.js index 220f32130da..b0d46cea2ab 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -352,6 +352,7 @@ const sidebarSettings = { link: { type: "doc", id: "docs/deploy/monitor-jobs" }, items: [ "docs/deploy/run-visibility", + "docs/deploy/retry-jobs", "docs/deploy/job-notifications", "docs/deploy/webhooks", "docs/deploy/artifacts", diff --git a/website/static/img/docs/deploy/native-retry.gif b/website/static/img/docs/deploy/native-retry.gif new file mode 100644 index 0000000000000000000000000000000000000000..020a9958fc5db485c494b4f96272cb14bc84a401 GIT binary patch literal 435573 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

w|U7AnR^W2ji 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�^Rxxm&FUWl&EfuExM7RxFjr&^GSe&!AdMCs%W# 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%0DQ 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 Date: Fri, 6 Oct 2023 11:35:07 -0700 Subject: [PATCH 030/216] add release note --- .../03-Oct-2023/native-retry-support-rn.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md diff --git a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md new file mode 100644 index 00000000000..5783bd4a527 --- /dev/null +++ b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md @@ -0,0 +1,17 @@ +--- +title: "Enhancement: Native support for the dbt retry command" +description: "October 2023: Rerun errored jobs from start and from the failure point" +sidebar_label: "Enhancement: Support for dbt retry" +tags: [Oct-2023] +date: 2023-10-06 +sidebar_position: 10 +--- + +Previously in dbt Cloud, you could rerun an errored job from start but now you can rerun it from the job run's point of failure. + +You can view which job failed to complete successully, which command failed in the run step, and choose how to rerun it. + +To learn more, refer to [Retry jobs](/docs/deploy/retry-jobs) + + + From 4d30360ed7ecd500576ae9960001265978c03e89 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Fri, 6 Oct 2023 11:37:57 -0700 Subject: [PATCH 031/216] Add link to Azure --- website/docs/docs/collaborate/git-version-control.md | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/docs/collaborate/git-version-control.md b/website/docs/docs/collaborate/git-version-control.md index 4444f381bb5..3825cf5fa88 100644 --- a/website/docs/docs/collaborate/git-version-control.md +++ b/website/docs/docs/collaborate/git-version-control.md @@ -22,3 +22,4 @@ When you develop in the command line interface (CLI) or Cloud integrated develo - [Merge conflicts](/docs/collaborate/git/merge-conflicts) - [Connect to GitHub](/docs/cloud/git/connect-github) - [Connect to GitLab](/docs/cloud/git/connect-gitlab) +- [Connect to Azure DevOps](/docs/cloud/git/connect-azure-devops) From 822a3b9fb906b9764c47bfab499a646da7d2227b Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Fri, 6 Oct 2023 11:40:28 -0700 Subject: [PATCH 032/216] Add tag --- .../release-notes/03-Oct-2023/native-retry-support-rn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md index 5783bd4a527..9a3910518cb 100644 --- a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md +++ b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md @@ -2,7 +2,7 @@ title: "Enhancement: Native support for the dbt retry command" description: "October 2023: Rerun errored jobs from start and from the failure point" sidebar_label: "Enhancement: Support for dbt retry" -tags: [Oct-2023] +tags: [Oct-2023, Scheduler] date: 2023-10-06 sidebar_position: 10 --- From 56906ea17d9c8fb61bc2974d2a169d53e6495158 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Fri, 6 Oct 2023 11:49:41 -0700 Subject: [PATCH 033/216] Nits --- .../release-notes/03-Oct-2023/native-retry-support-rn.md | 4 +--- website/docs/docs/deploy/retry-jobs.md | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md index 9a3910518cb..9939f302cf9 100644 --- a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md +++ b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md @@ -9,9 +9,7 @@ sidebar_position: 10 Previously in dbt Cloud, you could rerun an errored job from start but now you can rerun it from the job run's point of failure. -You can view which job failed to complete successully, which command failed in the run step, and choose how to rerun it. - -To learn more, refer to [Retry jobs](/docs/deploy/retry-jobs) +You can view which job failed to complete successully, which command failed in the run step, and choose how to rerun it. To learn more, refer to [Retry jobs](/docs/deploy/retry-jobs). diff --git a/website/docs/docs/deploy/retry-jobs.md b/website/docs/docs/deploy/retry-jobs.md index 1f9e279bc50..72e41e6eeed 100644 --- a/website/docs/docs/deploy/retry-jobs.md +++ b/website/docs/docs/deploy/retry-jobs.md @@ -21,7 +21,7 @@ If your dbt job run completed with a status of `result:error` , you can rerun it 4. Examine the error message and determine how to fix it. After you have made your changes, save and commit them to your [Git repo](/docs/collaborate/git-version-control). 5. Go back to your job’s **Run** page. In the upper right corner, click **Rerun** and choose **Rerun from start** or **Rerun from failure**. - If you choose to rerun from the failure point, a **Rerun failed steps** modal will appear. It lists the run steps it will invoke which will include the failed step and the steps it previously wasn’t able to invoke (skipped steps). To confirm, click **Rerun from failure**. The job reruns from the failed command in the previously failed run. This is denoted at the top of the **Run Summary** tab by a message "This run resumed execution from last failed step" . + If you choose to rerun from the failure point, a **Rerun failed steps** modal will appear. It lists the run steps it will invoke which will include the failed step and the steps it previously wasn’t able to invoke (skipped steps). To confirm, click **Rerun from failure**. The job reruns from the failed command in the previously failed run. This is denoted at the top of the **Run Summary** tab by a message "This run resumed execution from last failed step". From 18f9da4a36d18e8feacd33ae5dc93c83e18ca6fb Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Fri, 6 Oct 2023 11:54:07 -0700 Subject: [PATCH 034/216] Nits --- .../release-notes/03-Oct-2023/native-retry-support-rn.md | 2 +- website/docs/docs/deploy/retry-jobs.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md index 9939f302cf9..4bd05654c80 100644 --- a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md +++ b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/native-retry-support-rn.md @@ -12,4 +12,4 @@ Previously in dbt Cloud, you could rerun an errored job from start but now you c You can view which job failed to complete successully, which command failed in the run step, and choose how to rerun it. To learn more, refer to [Retry jobs](/docs/deploy/retry-jobs). - + diff --git a/website/docs/docs/deploy/retry-jobs.md b/website/docs/docs/deploy/retry-jobs.md index 72e41e6eeed..0e361ad9b92 100644 --- a/website/docs/docs/deploy/retry-jobs.md +++ b/website/docs/docs/deploy/retry-jobs.md @@ -23,7 +23,7 @@ If your dbt job run completed with a status of `result:error` , you can rerun it If you choose to rerun from the failure point, a **Rerun failed steps** modal will appear. It lists the run steps it will invoke which will include the failed step and the steps it previously wasn’t able to invoke (skipped steps). To confirm, click **Rerun from failure**. The job reruns from the failed command in the previously failed run. This is denoted at the top of the **Run Summary** tab by a message "This run resumed execution from last failed step". - + ## Related content From 045f5c3f67c126a22db9b23d7274c28e8f1c16e3 Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Fri, 6 Oct 2023 13:04:19 -0700 Subject: [PATCH 035/216] Update website/docs/docs/deploy/ci-jobs.md --- website/docs/docs/deploy/ci-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/ci-jobs.md b/website/docs/docs/deploy/ci-jobs.md index 4a95a8bf8df..de8285a5e5b 100644 --- a/website/docs/docs/deploy/ci-jobs.md +++ b/website/docs/docs/deploy/ci-jobs.md @@ -98,7 +98,7 @@ If you're experiencing any issues, review some of the common questions and answe
  • You have overridden the generate_schema_name macro and it isn't using dbt_cloud_pr_ as the prefix.



    To resolve this, change your macro so that the temporary PR schema name contains the required prefix. For example:



    - ✅ Temporary PR schema name contains the prefix dbt_cloud_pr_ (like dbt_cloud_pr_123_456_marketing)

    + ✅ Temporary PR schema name contains the prefix dbt_cloud_pr_ (like dbt_cloud_pr_123_456_marketing).

    ❌ Temporary PR schema name doesn't contain the prefix dbt_cloud_pr_ (like marketing).


  • From 7be1c64b446bc818e92957971d20002f0d46eef5 Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Fri, 6 Oct 2023 13:06:16 -0700 Subject: [PATCH 036/216] Update website/docs/docs/deploy/ci-jobs.md --- website/docs/docs/deploy/ci-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/ci-jobs.md b/website/docs/docs/deploy/ci-jobs.md index de8285a5e5b..86c71b9b313 100644 --- a/website/docs/docs/deploy/ci-jobs.md +++ b/website/docs/docs/deploy/ci-jobs.md @@ -103,7 +103,7 @@ If you're experiencing any issues, review some of the common questions and answe
  • - A macro is creating a schema, but no dbt models are writing to that schema. dbt Cloud does not drop temporary schemas that were not written to as a result of running a dbt model. + A macro is creating a schema but there are no dbt models writing to that schema. dbt Cloud doesn't drop temporary schemas that weren't written to as a result of running a dbt model.
From b2ddeae5d14e3a35d0febcc121cdb31ea6b74bfb Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Fri, 6 Oct 2023 13:06:36 -0700 Subject: [PATCH 037/216] Update website/docs/docs/deploy/ci-jobs.md --- website/docs/docs/deploy/ci-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/ci-jobs.md b/website/docs/docs/deploy/ci-jobs.md index 86c71b9b313..30a858c64e7 100644 --- a/website/docs/docs/deploy/ci-jobs.md +++ b/website/docs/docs/deploy/ci-jobs.md @@ -94,7 +94,7 @@ If you're experiencing any issues, review some of the common questions and answe
-Why is the lint operation inconsistent with running SQLFluff out of the dbt Cloud IDE (e.g. in a GitHub Action)? +Why is there inconsistent SQLFluff behavior when running outside the dbt Cloud IDE (such as a GitHub Action)? * Double check that your SQLFluff version that is running outside of the dbt Cloud IDE is consistent with the version used within the dbt Cloud IDE (which is usually printed out in the "Code Quality" tab after a lint operation). * If your lint operation is always passing when there exist clear rule violations - check that you are not linting a model that uses ephemeral models (dbt versions prior to 1.6 only). From 126fee0f31c93f8c8b87bb378aef3d8ed9a24813 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 11 Oct 2023 09:43:13 +0100 Subject: [PATCH 122/216] Update website/docs/docs/cloud/dbt-cloud-ide/lint-format.md --- website/docs/docs/cloud/dbt-cloud-ide/lint-format.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md index 1140a5c17ae..b26dfc2ff8f 100644 --- a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md +++ b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md @@ -230,7 +230,7 @@ Make sure you're on a development branch. Formatting or Linting isn't available
Why is there inconsistent SQLFluff behavior when running outside the dbt Cloud IDE (such as a GitHub Action)? -* Double check that your SQLFluff version that is running outside of the dbt Cloud IDE is consistent with the version used within the dbt Cloud IDE (which is usually printed out in the "Code Quality" tab after a lint operation). +* Double-check your SQLFluff version matches the one in dbt Cloud IDE (found in the "Code Quality" tab after a lint operation). * If your lint operation is always passing when there exist clear rule violations - check that you are not linting a model that uses ephemeral models (dbt versions prior to 1.6 only).
From e42d3ca1ad61d047b3f2b76f902380063b902b50 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 11 Oct 2023 09:44:50 +0100 Subject: [PATCH 123/216] Update website/docs/docs/cloud/dbt-cloud-ide/lint-format.md --- website/docs/docs/cloud/dbt-cloud-ide/lint-format.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md index b26dfc2ff8f..8eee6728ea0 100644 --- a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md +++ b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md @@ -48,7 +48,7 @@ With the dbt Cloud IDE, you can seamlessly use [SQLFluff](https://sqlfluff.com/) - Displays a **Code Quality** tab to view code errors, and provides code quality visibility and management. :::Ephemeral models not supported -Linting doesn't support ephemeral models in dbt versions 1.5 and lower. Refer to the [FAQs](#faqs) for more info. +Linting doesn't support ephemeral models in dbt v1.5 and lower. Refer to the [FAQs](#faqs) for more info. ::: ### Enable linting From 8f4fbbf09e3d1a5fe108495d3fad16b2e63ab104 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 11 Oct 2023 09:45:27 +0100 Subject: [PATCH 124/216] Update website/docs/docs/cloud/dbt-cloud-ide/lint-format.md --- website/docs/docs/cloud/dbt-cloud-ide/lint-format.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md index 8eee6728ea0..fd31f63199b 100644 --- a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md +++ b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md @@ -231,7 +231,7 @@ Make sure you're on a development branch. Formatting or Linting isn't available Why is there inconsistent SQLFluff behavior when running outside the dbt Cloud IDE (such as a GitHub Action)? * Double-check your SQLFluff version matches the one in dbt Cloud IDE (found in the "Code Quality" tab after a lint operation). -* If your lint operation is always passing when there exist clear rule violations - check that you are not linting a model that uses ephemeral models (dbt versions prior to 1.6 only). +* If your lint operation passes despite clear rule violations, confirm you're not linting models with ephemeral models. Linting doesn't support ephemeral models in dbt v1.5 and lower.
## Related docs From 5ff477918771d25fbcd06d53ddc8db7765d6a427 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 11 Oct 2023 09:48:17 +0100 Subject: [PATCH 125/216] Update lint-format.md --- website/docs/docs/cloud/dbt-cloud-ide/lint-format.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md index fd31f63199b..54d695172c9 100644 --- a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md +++ b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md @@ -230,8 +230,8 @@ Make sure you're on a development branch. Formatting or Linting isn't available
Why is there inconsistent SQLFluff behavior when running outside the dbt Cloud IDE (such as a GitHub Action)? -* Double-check your SQLFluff version matches the one in dbt Cloud IDE (found in the "Code Quality" tab after a lint operation). -* If your lint operation passes despite clear rule violations, confirm you're not linting models with ephemeral models. Linting doesn't support ephemeral models in dbt v1.5 and lower. +- Double-check your SQLFluff version matches the one in dbt Cloud IDE (found in the "Code Quality" tab after a lint operation). +- If your lint operation passes despite clear rule violations, confirm you're not linting models with ephemeral models. Linting doesn't support ephemeral models in dbt v1.5 and lower.
## Related docs From d56958f9fb77bcfda629ce34702752298d29cf5b Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 11 Oct 2023 09:55:25 +0100 Subject: [PATCH 126/216] Update website/docs/docs/collaborate/govern/project-dependencies.md --- website/docs/docs/collaborate/govern/project-dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/govern/project-dependencies.md b/website/docs/docs/collaborate/govern/project-dependencies.md index c5c7bd7e7ae..34ad8a831f6 100644 --- a/website/docs/docs/collaborate/govern/project-dependencies.md +++ b/website/docs/docs/collaborate/govern/project-dependencies.md @@ -101,7 +101,7 @@ There are a few cases where installing another internal project as a package can These are the exceptions, rather than the rule. Installing another team's project as a package adds complexity, latency, and risk of unnecessary costs. By defining clear interface boundaries across teams, by serving one team's public models as "APIs" to another, and by enabling practitioners to develop with a more narrowly-defined scope, we can enable more people to contribute, with more confidence, while requiring less context upfront. -### FAQs +## FAQs
Can I define private packages in the `dependencies.yml` file? From 786cc2339ecda59d8236087e34e65cfb12acacc4 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 11 Oct 2023 09:55:52 +0100 Subject: [PATCH 127/216] Update website/docs/docs/collaborate/govern/project-dependencies.md --- website/docs/docs/collaborate/govern/project-dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/govern/project-dependencies.md b/website/docs/docs/collaborate/govern/project-dependencies.md index 34ad8a831f6..6292c3ce34e 100644 --- a/website/docs/docs/collaborate/govern/project-dependencies.md +++ b/website/docs/docs/collaborate/govern/project-dependencies.md @@ -104,7 +104,7 @@ These are the exceptions, rather than the rule. Installing another team's projec ## FAQs
-Can I define private packages in the `dependencies.yml` file? +Can I define private packages in the dependencies.yml file? If you are attempting to use private packages via the [Git Token Method](https://docs.getdbt.com/docs/build/packages#git-token-method) - you will need to continue defining them in the `packages.yml` file instead of in the `dependencies.yml` file as conditional rendering (i.e. Jinja-in-yaml) is not allowed.
From 0499a69aa20cc7a32d60a428628491be21d220ad Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 11 Oct 2023 10:00:51 +0100 Subject: [PATCH 128/216] fix errors --- website/docs/docs/cloud/dbt-cloud-ide/lint-format.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md index 54d695172c9..6a86f1aa14b 100644 --- a/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md +++ b/website/docs/docs/cloud/dbt-cloud-ide/lint-format.md @@ -47,7 +47,7 @@ With the dbt Cloud IDE, you can seamlessly use [SQLFluff](https://sqlfluff.com/) - Empowers you to [enable linting](#enable-linting) with options like **Lint** (displays linting errors and recommends actions) or **Fix** (auto-fixes errors in the IDE). - Displays a **Code Quality** tab to view code errors, and provides code quality visibility and management. -:::Ephemeral models not supported +:::info Ephemeral models not supported Linting doesn't support ephemeral models in dbt v1.5 and lower. Refer to the [FAQs](#faqs) for more info. ::: @@ -229,9 +229,8 @@ Make sure you're on a development branch. Formatting or Linting isn't available
Why is there inconsistent SQLFluff behavior when running outside the dbt Cloud IDE (such as a GitHub Action)? - -- Double-check your SQLFluff version matches the one in dbt Cloud IDE (found in the "Code Quality" tab after a lint operation). -- If your lint operation passes despite clear rule violations, confirm you're not linting models with ephemeral models. Linting doesn't support ephemeral models in dbt v1.5 and lower. +— Double-check your SQLFluff version matches the one in dbt Cloud IDE (found in the Code Quality tab after a lint operation).

+— If your lint operation passes despite clear rule violations, confirm you're not linting models with ephemeral models. Linting doesn't support ephemeral models in dbt v1.5 and lower.
## Related docs From 67ba9cdbcd67471aa2231c07d25b5ee150efa5aa Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 11 Oct 2023 10:30:01 +0100 Subject: [PATCH 129/216] Update website/docs/docs/collaborate/govern/project-dependencies.md --- website/docs/docs/collaborate/govern/project-dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/govern/project-dependencies.md b/website/docs/docs/collaborate/govern/project-dependencies.md index 6292c3ce34e..7785e428678 100644 --- a/website/docs/docs/collaborate/govern/project-dependencies.md +++ b/website/docs/docs/collaborate/govern/project-dependencies.md @@ -106,5 +106,5 @@ These are the exceptions, rather than the rule. Installing another team's projec
Can I define private packages in the dependencies.yml file? -If you are attempting to use private packages via the [Git Token Method](https://docs.getdbt.com/docs/build/packages#git-token-method) - you will need to continue defining them in the `packages.yml` file instead of in the `dependencies.yml` file as conditional rendering (i.e. Jinja-in-yaml) is not allowed. +If you're using private packages with the [git token method](/docs/build/packages#git-token-method), you must define them in the `packages.yml` file instead of the `dependencies.yml` file. This is because conditional rendering (like Jinja-in-yaml) is not supported.
From 448fed1ccfab3c46ec99f0b8206f3a07309dd0c5 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 11 Oct 2023 11:14:17 +0100 Subject: [PATCH 130/216] Update test-selection-examples.md --- .../node-selection/test-selection-examples.md | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/website/docs/reference/node-selection/test-selection-examples.md b/website/docs/reference/node-selection/test-selection-examples.md index 33047049e33..478aac932c5 100644 --- a/website/docs/reference/node-selection/test-selection-examples.md +++ b/website/docs/reference/node-selection/test-selection-examples.md @@ -19,14 +19,14 @@ Run generic tests only: ```bash - $ dbt test --select test_type:generic + dbt test --select test_type:generic ``` Run singular tests only: ```bash - $ dbt test --select test_type:singular + dbt test --select test_type:singular ``` In both cases, `test_type` checks a property of the test itself. These are forms of "direct" test selection. @@ -87,8 +87,8 @@ By default, a test will run when ANY parent is selected; we call this "eager" in In this mode, any test that depends on unbuilt resources will raise an error. ```shell -$ dbt test --select orders -$ dbt build --select orders + dbt test --select orders + dbt build --select orders ``` @@ -102,8 +102,8 @@ It will only include tests whose references are each within the selected nodes. Put another way, it will prevent tests from running if one or more of its parents is unselected. ```shell -$ dbt test --select orders --indirect-selection=cautious -$ dbt build --select orders --indirect-selection=cautious + dbt test --select orders --indirect-selection=cautious + dbt build --select orders --indirect-selection=cautious ``` @@ -122,8 +122,8 @@ By default, a test will run when ANY parent is selected; we call this "eager" in In this mode, any test that depends on unbuilt resources will raise an error. ```shell -$ dbt test --select orders -$ dbt build --select orders + dbt test --select orders + dbt build --select orders ``` @@ -137,8 +137,8 @@ It will only include tests whose references are each within the selected nodes. Put another way, it will prevent tests from running if one or more of its parents is unselected. ```shell -$ dbt test --select orders --indirect-selection=cautious -$ dbt build --select orders --indirect-selection=cautious + dbt test --select orders --indirect-selection=cautious + dbt build --select orders --indirect-selection=cautious ``` @@ -152,8 +152,8 @@ It will only include tests whose references are each within the selected nodes ( This is useful in the same scenarios as "cautious", but also includes when a test depends on a model **and** a direct ancestor of that model (like confirming an aggregation has the same totals as its input). ```shell -$ dbt test --select orders --indirect-selection=buildable -$ dbt build --select orders --indirect-selection=buildable + dbt test --select orders --indirect-selection=buildable + dbt build --select orders --indirect-selection=buildable ``` @@ -172,8 +172,8 @@ By default, a test will run when ANY parent is selected; we call this "eager" in In this mode, any test that depends on unbuilt resources will raise an error. ```shell -$ dbt test --select orders -$ dbt build --select orders + dbt test --select orders + dbt build --select orders ``` @@ -187,8 +187,8 @@ It will only include tests whose references are each within the selected nodes. Put another way, it will prevent tests from running if one or more of its parents is unselected. ```shell -$ dbt test --select orders --indirect-selection=cautious -$ dbt build --select orders --indirect-selection=cautious + dbt test --select orders --indirect-selection=cautious + dbt build --select orders --indirect-selection=cautious ``` @@ -202,8 +202,8 @@ It will only include tests whose references are each within the selected nodes ( This is useful in the same scenarios as "cautious", but also includes when a test depends on a model **and** a direct ancestor of that model (like confirming an aggregation has the same totals as its input). ```shell -$ dbt test --select orders --indirect-selection=buildable -$ dbt build --select orders --indirect-selection=buildable +dbt test --select orders --indirect-selection=buildable +dbt build --select orders --indirect-selection=buildable ``` @@ -213,8 +213,8 @@ $ dbt build --select orders --indirect-selection=buildable This mode will only include tests whose references are each within the selected nodes and will ignore all tests from attached nodes. ```shell -$ dbt test --select orders --indirect-selection=empty -$ dbt build --select orders --indirect-selection=empty + dbt test --select orders --indirect-selection=empty + dbt build --select orders --indirect-selection=empty ``` @@ -234,25 +234,25 @@ The following examples should feel somewhat familiar if you're used to executing ```bash # Run tests on a model (indirect selection) - $ dbt test --select customers + dbt test --select customers # Run tests on two or more specific models (indirect selection) - $ dbt test --select customers orders + dbt test --select customers orders # Run tests on all models in the models/staging/jaffle_shop directory (indirect selection) - $ dbt test --select staging.jaffle_shop + dbt test --select staging.jaffle_shop # Run tests downstream of a model (note this will select those tests directly!) - $ dbt test --select stg_customers+ + dbt test --select stg_customers+ # Run tests upstream of a model (indirect selection) - $ dbt test --select +stg_customers + dbt test --select +stg_customers # Run tests on all models with a particular tag (direct + indirect) - $ dbt test --select tag:my_model_tag + dbt test --select tag:my_model_tag # Run tests on all models with a particular materialization (indirect selection) - $ dbt test --select config.materialized:table + dbt test --select config.materialized:table ``` @@ -261,19 +261,19 @@ The following examples should feel somewhat familiar if you're used to executing ```bash # tests on all sources - $ dbt test --select source:* + dbt test --select source:* # tests on one source - $ dbt test --select source:jaffle_shop + dbt test --select source:jaffle_shop # tests on two or more specific sources - $ dbt test --select source:jaffle_shop source:raffle_bakery + dbt test --select source:jaffle_shop source:raffle_bakery # tests on one source table - $ dbt test --select source:jaffle_shop.customers + dbt test --select source:jaffle_shop.customers # tests on everything _except_ sources - $ dbt test --exclude source:* + dbt test --exclude source:* ``` ### More complex selection @@ -282,10 +282,10 @@ Through the combination of direct and indirect selection, there are many ways to ```bash - $ dbt test --select assert_total_payment_amount_is_positive # directly select the test by name - $ dbt test --select payments,test_type:singular # indirect selection, v1.2 - $ dbt test --select payments,test_type:data # indirect selection, v0.18.0 - $ dbt test --select payments --data # indirect selection, earlier versions + dbt test --select assert_total_payment_amount_is_positive # directly select the test by name + dbt test --select payments,test_type:singular # indirect selection, v1.2 + dbt test --select payments,test_type:data # indirect selection, v0.18.0 + dbt test --select payments --data # indirect selection, earlier versions ``` @@ -294,13 +294,13 @@ Through the combination of direct and indirect selection, there are many ways to ```bash # Run tests on all models with a particular materialization - $ dbt test --select config.materialized:table + dbt test --select config.materialized:table # Run tests on all seeds, which use the 'seed' materialization - $ dbt test --select config.materialized:seed + dbt test --select config.materialized:seed # Run tests on all snapshots, which use the 'snapshot' materialization - $ dbt test --select config.materialized:snapshot + dbt test --select config.materialized:snapshot ``` Note that this functionality may change in future versions of dbt. @@ -328,7 +328,7 @@ models: ```bash - $ dbt test --select tag:my_column_tag + dbt test --select tag:my_column_tag ``` Currently, tests "inherit" tags applied to columns, sources, and source tables. They do _not_ inherit tags applied to models, seeds, or snapshots. In all likelihood, those tests would still be selected indirectly, because the tag selects its parent. This is a subtle distinction, and it may change in future versions of dbt. @@ -356,5 +356,5 @@ models: ```bash - $ dbt test --select tag:my_test_tag + dbt test --select tag:my_test_tag ``` From f27af45ca19b0521fd2021d00d8ba6a970a526d2 Mon Sep 17 00:00:00 2001 From: john-rock Date: Wed, 11 Oct 2023 07:07:19 -0400 Subject: [PATCH 131/216] add repo sync --- .github/workflows/repo-sync.yml | 111 ++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 .github/workflows/repo-sync.yml diff --git a/.github/workflows/repo-sync.yml b/.github/workflows/repo-sync.yml new file mode 100644 index 00000000000..8f2320217b2 --- /dev/null +++ b/.github/workflows/repo-sync.yml @@ -0,0 +1,111 @@ +name: Repo Sync + +# **What it does**: Syncs docs.getdbt.com public repo into the docs private repo +# This GitHub Actions workflow keeps the `current` branch of those two repos in sync. +# **Why we have it**: To keep the open-source repository up-to-date +# while still having an internal repository for sensitive work. +# For more details, see https://github.com/repo-sync/repo-sync#how-it-works + +on: + schedule: + - cron: '0 6,12,18 * * *' # Run at 6:00 AM, 12:00 PM, and 6:00 PM + +jobs: + repo-sync: + permissions: + contents: write + pull-requests: write + name: Repo Sync + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + # Use the INTERMEDIATE_BRANCH as the checkout reference + ref: ${{ secrets.INTERMEDIATE_BRANCH }} + token: ${{ secrets.GITHUB_TOKEN }} + # Fetch all history for all branches and tags + fetch-depth: 0 + + # Sync the source repo to the destination branch using repo-sync/github-sync + - uses: repo-sync/github-sync@v2 + name: Sync repo to branch + with: + # Source repository to sync from + source_repo: ${{ secrets.SOURCE_REPO }} + # Source branch to sync from + source_branch: current + # Destination branch to sync to + destination_branch: ${{ secrets.INTERMEDIATE_BRANCH }} + github_token: ${{ secrets.WORKFLOW_TOKEN }} + + - name: Ship pull request + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.WORKFLOW_TOKEN }} + result-encoding: string + script: | + const {owner, repo} = context.repo; + const head = '${{ secrets.INTERMEDIATE_BRANCH }}'; + const base = 'current' + + async function closePullRequest(prNumber) { + console.log('closing PR', prNumber) + await github.rest.pulls.update({ + owner, + repo, + pull_number: prNumber, + state: 'closed' + }); + console.log('closed PR', prNumber) + } + + console.log('Creating new PR') + let pull, pull_number + try { + const response = await github.rest.pulls.create({ + owner, + repo, + head, + base, + title: 'REPO SYNC - Public to Private', + body: 'This is an automated pull request to sync changes between the public and private repos.', + }); + pull = response.data + pull_number = pull.number + console.log('Created pull request successfully', pull.html_url) + + } catch (err) { + // Don't error/alert if there's no commits to sync + if (err.message?.includes('No commits')) { + console.log(err.message) + return + } + throw err + } + + const { data: prFiles } = await github.rest.pulls.listFiles({ owner, repo, pull_number }) + if (prFiles.length) { + console.log(prFiles.length, 'files have changed') + } else { + console.log('No files changed, closing') + await closePullRequest(pull_number) + return + } + + console.log('Checking for merge conflicts') + if (pull.mergeable_state === 'dirty') { + console.log('Pull request has a conflict', pull.html_url) + await closePullRequest(pull_number) + throw new Error('PR has a conflict, please resolve manually') + } + console.log('No detected merge conflicts') + + + console.log('Merging the PR') + await github.rest.pulls.merge({ + owner, + repo, + pull_number, + merge_method: 'merge', + }) + console.log('Merged the PR successfully') From 7ab06029d2bd24913646ba3b71a199c9de28c987 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 10:06:49 -0400 Subject: [PATCH 132/216] Update website/docs/docs/build/semantic-models.md --- website/docs/docs/build/semantic-models.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/semantic-models.md b/website/docs/docs/build/semantic-models.md index 9a73784b1fc..2dc550d5a4a 100644 --- a/website/docs/docs/build/semantic-models.md +++ b/website/docs/docs/build/semantic-models.md @@ -29,7 +29,7 @@ Semantic models have 6 components and this page explains the definitions with so | [Primary Entity](#primary-entity) | If a primary entity exists, this component is Optional. If the semantic model has no primary entity, then this property is required. | Optional | | [Dimensions](#dimensions) | Different ways to group or slice data for a metric, they can be `time` or `categorical` | Required | | [Measures](#measures) | Aggregations applied to columns in your data model. They can be the final metric or used as building blocks for more complex metrics | Optional | -| Label | The display name for your `node`, `dimension`, `entity`, and/or `measures` | Optional | +| Label | The display name for your semantic model `node`, `dimension`, `entity`, and/or `measures` | Optional | ## Semantic models components From afdf36f0fb63ce92d3e39c76e73d0c18991a734b Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 10:10:42 -0400 Subject: [PATCH 133/216] Apply suggestions from code review Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/reference/resource-configs/access.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/resource-configs/access.md b/website/docs/reference/resource-configs/access.md index d9f4fd1ce43..da50e48d2f0 100644 --- a/website/docs/reference/resource-configs/access.md +++ b/website/docs/reference/resource-configs/access.md @@ -17,13 +17,13 @@ models: -Access modifiers may be applied to models one-by-one in YAML properties. In v1.5 and v1.6, it is not possible to configure `access` for multiple models at once. Upgrade to v1.7 for additional configuration options. A group or subfolder contains models with a variety of access levels, and designating a model with `access: public` should always be a conscious and intentional choice. +Access modifiers may be applied to models one-by-one in YAML properties. In v1.5 and v1.6, you are unable to configure `access` for multiple models at once. Upgrade to v1.7 for additional configuration options. A group or subfolder contains models with varying access levels, so when you designate a model with `access: public`, make sure you intend for this behavior. -Access modifiers can be applied in config files, including `the dbt_project.yml`, or to models one-by-one in YAML properties. Apply access configs to a subfolder, and it will configure the default for all models in that subfolder. When setting individual model access, a group or subfolder might contain a variety of access levels, and designating a model with `access: public` should always be a conscious and intentional choice. +You can apply access modifiers in config files, including `the dbt_project.yml`, or to models one-by-one in YAML properties. Applying access configs to a subfolder modifies the default for all models in that subfolder, so make sure you intend for this behavior. When setting individual model access, a group or subfolder might contain a variety of access levels, so when you designate a model with `access: public` make sure you intend for this behavior. There are multiple approaches to configuring access: From e74d9380733b95e5c615e39280dfefefb3e9809a Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Wed, 11 Oct 2023 08:47:23 -0700 Subject: [PATCH 134/216] Update website/docs/docs/collaborate/explore-projects.md Co-authored-by: dave-connors-3 <73915542+dave-connors-3@users.noreply.github.com> --- website/docs/docs/collaborate/explore-projects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index 96a7a40ca34..3cc5429585b 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -67,7 +67,7 @@ To interact with the full lineage graph, you can: -## Explore the cross-project full lineage graph +## Explore the cross-project lineage graph For cross-project collaboration, you can interact with the DAG in all the same ways as described in [Explore the project full lineage](#project-lineage) but you can also interact with it at the project level and view the details. From fef4b753ba52b19f9b77fb701fa2b3677134cb0b Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Wed, 11 Oct 2023 08:52:51 -0700 Subject: [PATCH 135/216] Update website/docs/docs/collaborate/explore-projects.md Co-authored-by: dave-connors-3 <73915542+dave-connors-3@users.noreply.github.com> --- website/docs/docs/collaborate/explore-projects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index 3cc5429585b..56786d7f131 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -40,7 +40,7 @@ For a richer experience with dbt Explorer, you must: Richer and more timely metadata will become available as dbt, the Discovery API, and the underlying dbt Cloud platform evolves. -## Explore the project full lineage graph {#project-lineage} +## Explore your project's lineage graph {#project-lineage} dbt Explorer provides a visualization of your project’s DAG that you can interact with. To access it, select **Overview** in the left sidebar and click the **Explore Lineage** button on the main (center) section of the page. From 71274b4a768e6ea2741d437a1c203bedbd9c4121 Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Wed, 11 Oct 2023 09:58:29 -0700 Subject: [PATCH 136/216] Update website/docs/docs/collaborate/explore-projects.md Co-authored-by: dave-connors-3 <73915542+dave-connors-3@users.noreply.github.com> --- website/docs/docs/collaborate/explore-projects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index 56786d7f131..04682e689e6 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -55,7 +55,7 @@ To interact with the full lineage graph, you can: - Hover over any item in the graph to display the resource’s name and type. - Zoom in and out on the graph by mouse-scrolling. - Grab and move the graph and the nodes. -- Select a resource to highlight its relationship with other resources in your project. A panel opens on the graph’s right-hand side that displays a high-level summary of the resource’s details. The side panel includes a **General** tab for information like description, materialized type, and other details; and also a **Relationships** tab that lists the resources it has a relationship with (if any). +- Select a resource to highlight its relationship with other resources in your project. A panel opens on the graph’s right-hand side that displays a high-level summary of the resource’s details. The side panel includes a **General** tab for information like description, materialized type, and other details. - Click the Share icon in the side panel to copy the graph’s link to your clipboard. - Click the View Resource icon in the side panel to [view the resource details](#view-resource-details). - [Search and select specific resources](#search-resources) or a subset of the DAG using selectors and graph operators. For example: From 898cf22172e8f302e20fd9d3268ce5dad76b9b74 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 11 Oct 2023 10:41:26 -0700 Subject: [PATCH 137/216] Fast-follows for retry --- website/docs/docs/deploy/deployment-overview.md | 6 ++++++ website/docs/docs/deploy/monitor-jobs.md | 1 + website/docs/docs/deploy/retry-jobs.md | 6 +++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/deploy/deployment-overview.md b/website/docs/docs/deploy/deployment-overview.md index 5883ecaa3f1..553dca923a5 100644 --- a/website/docs/docs/deploy/deployment-overview.md +++ b/website/docs/docs/deploy/deployment-overview.md @@ -58,6 +58,12 @@ Learn how to use dbt Cloud's features to help your team ship timely and quality link="/docs/deploy/run-visibility" icon="dbt-bit"/> + + ## Related content - +- [Retry a failed run for a job](/dbt-cloud/api-v2#/operations/Retry%20a%20failed%20run%20for%20a%20job) API endpoint - [Run visibility](/docs/deploy/run-visibility) - [Jobs](/docs/deploy/jobs) - [Job commands](/docs/deploy/job-commands) \ No newline at end of file From dfbe7924112db5fe1663207e68379cd5cc19eae7 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:19:06 -0400 Subject: [PATCH 138/216] Moving version blocks --- .../docs/reference/resource-configs/enabled.md | 10 ++++++++-- website/docs/reference/resource-configs/group.md | 10 ++++++++-- website/docs/reference/resource-configs/meta.md | 15 +++++++++++---- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/website/docs/reference/resource-configs/enabled.md b/website/docs/reference/resource-configs/enabled.md index 40933e5e713..8762565a46e 100644 --- a/website/docs/reference/resource-configs/enabled.md +++ b/website/docs/reference/resource-configs/enabled.md @@ -253,6 +253,14 @@ exposures: + + +Support for disabling semantic models has been added in dbt Core v1.7 + + + + + ```yml @@ -266,8 +274,6 @@ semantic_models: - - The `enabled` configuration can be nested under the `config` key. diff --git a/website/docs/reference/resource-configs/group.md b/website/docs/reference/resource-configs/group.md index a3d0e7ce57b..7515d8c5789 100644 --- a/website/docs/reference/resource-configs/group.md +++ b/website/docs/reference/resource-configs/group.md @@ -268,6 +268,14 @@ metrics: + + +Support for grouping semantic models has been added in dbt Core v1.7. + + + + + ```yml @@ -289,8 +297,6 @@ semantic_models: - - The `group` configuration can be nested under the `config` key. diff --git a/website/docs/reference/resource-configs/meta.md b/website/docs/reference/resource-configs/meta.md index 1ffdf15c960..aeff9ee6226 100644 --- a/website/docs/reference/resource-configs/meta.md +++ b/website/docs/reference/resource-configs/meta.md @@ -14,6 +14,7 @@ default_value: {} { label: 'Tests', value: 'tests', }, { label: 'Analyses', value: 'analyses', }, { label: 'Macros', value: 'macros', }, + { label: 'Exposures', value: 'exposures', }, { label: 'Semantic Models', value: 'semantic models', }, ] }> @@ -175,6 +176,14 @@ exposures: + + +Support for grouping semantic models was added in dbt Core v1.7 + + + + + ```yml @@ -185,14 +194,12 @@ semantic_models: meta: {} ``` - +The `meta` configuration can be nusted under the `config` key. -The `meta` configuration can be nested under the `config` key. + - - From 9c1fcea3e3fe097108302f26e49d5e68656dd3d4 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:24:59 -0400 Subject: [PATCH 139/216] Adding semantic models to definition --- website/docs/reference/resource-configs/enabled.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/enabled.md b/website/docs/reference/resource-configs/enabled.md index 8762565a46e..cb9a3cf5fb2 100644 --- a/website/docs/reference/resource-configs/enabled.md +++ b/website/docs/reference/resource-configs/enabled.md @@ -283,7 +283,7 @@ The `enabled` configuration can be nested under the `config` key. ## Definition -An optional configuration for disabling models, seeds, snapshots, and tests. +An optional configuration for disabling models, seeds, snapshots, tests, and semantic models. * Default: true From 83258edaad01e02730eb2a6b7bed5b5640ca654d Mon Sep 17 00:00:00 2001 From: "Leona B. Campbell" <3880403+runleonarun@users.noreply.github.com> Date: Wed, 11 Oct 2023 11:25:15 -0700 Subject: [PATCH 140/216] Update contract.md to include specific rules --- website/docs/reference/resource-configs/contract.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/contract.md b/website/docs/reference/resource-configs/contract.md index e8ea6d82287..0cb411b8790 100644 --- a/website/docs/reference/resource-configs/contract.md +++ b/website/docs/reference/resource-configs/contract.md @@ -27,7 +27,7 @@ The `data_type` defined in your YAML file must match a data type your data platf When dbt is comparing data types, it will not compare granular details such as size, precision, or scale. We don't think you should sweat the difference between `varchar(256)` and `varchar(257)`, because it doesn't really affect the experience of downstream queriers. If you need a more-precise assertion, it's always possible to accomplish by [writing or using a custom test](/guides/best-practices/writing-custom-generic-tests). -That said, on certain data platforms, you will need to specify a varchar size or numeric scale if you do not want it to revert to the default. This is most relevant for the `numeric` type on Snowflake, which defaults to a precision of 38 and a scale of 0 (zero digits after the decimal, such as rounded to an integer). To avoid this implicit coercion, specify your `data_type` with a nonzero scale, like `numeric(38, 6)`. +You need to specify a varchar size or numeric scale, otherwise dbt relies on default values. For example, if a `numeric` type defaults to a precision of 38 and a scale of 0, then the numeric column stores 0 digits to the right of the decimal (it only stores whole numbers), which might cause it to fail contract enforcement. To avoid this implicit coercion, specify your `data_type` with a nonzero scale, like `numeric(38, 6)`. dbt Core 1.7 and higher provides an error if you don't specify precision and scale when providing a numeric data type. ## Example From 1e418c77c91512634c4ff1b2886700ab55336da9 Mon Sep 17 00:00:00 2001 From: "Leona B. Campbell" <3880403+runleonarun@users.noreply.github.com> Date: Wed, 11 Oct 2023 11:34:00 -0700 Subject: [PATCH 141/216] Update website/docs/reference/resource-configs/contract.md --- website/docs/reference/resource-configs/contract.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/contract.md b/website/docs/reference/resource-configs/contract.md index 0cb411b8790..33dd0b9b815 100644 --- a/website/docs/reference/resource-configs/contract.md +++ b/website/docs/reference/resource-configs/contract.md @@ -27,7 +27,7 @@ The `data_type` defined in your YAML file must match a data type your data platf When dbt is comparing data types, it will not compare granular details such as size, precision, or scale. We don't think you should sweat the difference between `varchar(256)` and `varchar(257)`, because it doesn't really affect the experience of downstream queriers. If you need a more-precise assertion, it's always possible to accomplish by [writing or using a custom test](/guides/best-practices/writing-custom-generic-tests). -You need to specify a varchar size or numeric scale, otherwise dbt relies on default values. For example, if a `numeric` type defaults to a precision of 38 and a scale of 0, then the numeric column stores 0 digits to the right of the decimal (it only stores whole numbers), which might cause it to fail contract enforcement. To avoid this implicit coercion, specify your `data_type` with a nonzero scale, like `numeric(38, 6)`. dbt Core 1.7 and higher provides an error if you don't specify precision and scale when providing a numeric data type. +Just remember, you need to specify a varchar size or numeric scale, otherwise dbt relies on default values. For example, if a `numeric` type defaults to a precision of 38 and a scale of 0, then the numeric column stores 0 digits to the right of the decimal (it only stores whole numbers), which might cause it to fail contract enforcement. To avoid this implicit coercion, specify your `data_type` with a nonzero scale, like `numeric(38, 6)`. dbt Core 1.7 and higher provides an error if you don't specify precision and scale when providing a numeric data type. ## Example From f6ffe33b3d670b4fa2556925b34e887338ae5fc5 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:45:16 -0400 Subject: [PATCH 142/216] Updates to migration guide --- .../versions/00-upgrading-to-v1.7.md | 50 ++++++++----------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index 56f08cc3696..64a4a4d2259 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -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. \ No newline at end of file From 853f18764b8117d32b745e85e6c389619de2086f Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:55:15 -0400 Subject: [PATCH 143/216] Update website/docs/guides/migration/versions/00-upgrading-to-v1.7.md --- website/docs/guides/migration/versions/00-upgrading-to-v1.7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index 64a4a4d2259..4ad87a40557 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -24,7 +24,7 @@ dbt Labs is committed to providing backward compatibility for all versions 1.x, - 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). +- 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. From ecd1fd5d81bf2298e91364f65551997fe192a7a8 Mon Sep 17 00:00:00 2001 From: "Leona B. Campbell" <3880403+runleonarun@users.noreply.github.com> Date: Wed, 11 Oct 2023 13:16:34 -0700 Subject: [PATCH 144/216] Revert "Update contract.md to include specific rules" (#4257) Reverts dbt-labs/docs.getdbt.com#4255 which was merged mistakenly --- website/docs/reference/resource-configs/contract.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/contract.md b/website/docs/reference/resource-configs/contract.md index 33dd0b9b815..e8ea6d82287 100644 --- a/website/docs/reference/resource-configs/contract.md +++ b/website/docs/reference/resource-configs/contract.md @@ -27,7 +27,7 @@ The `data_type` defined in your YAML file must match a data type your data platf When dbt is comparing data types, it will not compare granular details such as size, precision, or scale. We don't think you should sweat the difference between `varchar(256)` and `varchar(257)`, because it doesn't really affect the experience of downstream queriers. If you need a more-precise assertion, it's always possible to accomplish by [writing or using a custom test](/guides/best-practices/writing-custom-generic-tests). -Just remember, you need to specify a varchar size or numeric scale, otherwise dbt relies on default values. For example, if a `numeric` type defaults to a precision of 38 and a scale of 0, then the numeric column stores 0 digits to the right of the decimal (it only stores whole numbers), which might cause it to fail contract enforcement. To avoid this implicit coercion, specify your `data_type` with a nonzero scale, like `numeric(38, 6)`. dbt Core 1.7 and higher provides an error if you don't specify precision and scale when providing a numeric data type. +That said, on certain data platforms, you will need to specify a varchar size or numeric scale if you do not want it to revert to the default. This is most relevant for the `numeric` type on Snowflake, which defaults to a precision of 38 and a scale of 0 (zero digits after the decimal, such as rounded to an integer). To avoid this implicit coercion, specify your `data_type` with a nonzero scale, like `numeric(38, 6)`. ## Example From 5e3b5065a65482060d99d6de5db37f3dc467dc26 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Wed, 11 Oct 2023 13:35:41 -0700 Subject: [PATCH 145/216] Fix description --- website/docs/docs/cloud/manage-access/set-up-bigquery-oauth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/manage-access/set-up-bigquery-oauth.md b/website/docs/docs/cloud/manage-access/set-up-bigquery-oauth.md index 516a340c951..73de602e2ba 100644 --- a/website/docs/docs/cloud/manage-access/set-up-bigquery-oauth.md +++ b/website/docs/docs/cloud/manage-access/set-up-bigquery-oauth.md @@ -1,6 +1,6 @@ --- title: "Set up BigQuery OAuth" -description: "Learn how dbt Cloud administrators can use licenses and seats to control access in a dbt Cloud account." +description: "Learn how dbt Cloud administrators can use BigQuery OAuth to control access in a dbt Cloud account" id: "set-up-bigquery-oauth" --- From 859b195cb6b238dcc3e9ac14151f4c7cd2a6e5b2 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 11 Oct 2023 14:24:03 -0700 Subject: [PATCH 146/216] Callouts for upcoming Microsoft adapter support --- .../docs/cloud/connect-data-platform/about-connections.md | 4 ++++ website/docs/docs/supported-data-platforms.md | 4 ++++ website/docs/docs/verified-adapters.md | 4 ++++ website/snippets/_microsoft-adapters-soon.md | 3 +++ 4 files changed, 15 insertions(+) create mode 100644 website/snippets/_microsoft-adapters-soon.md diff --git a/website/docs/docs/cloud/connect-data-platform/about-connections.md b/website/docs/docs/cloud/connect-data-platform/about-connections.md index 65bfac3a90d..5d5a903b346 100644 --- a/website/docs/docs/cloud/connect-data-platform/about-connections.md +++ b/website/docs/docs/cloud/connect-data-platform/about-connections.md @@ -13,6 +13,10 @@ dbt Cloud can connect with a variety of data platform providers including: - [Snowflake](/docs/cloud/connect-data-platform/connect-snowflake) - [Starburst or Trino](/docs/cloud/connect-data-platform/connect-starburst-trino) +import MSCallout from '/snippets/_microsoft-adapters-soon.md'; + + + You can connect to your database in dbt Cloud by clicking the gear in the top right and selecting **Account Settings**. From the Account Settings page, click **+ New Project**. diff --git a/website/docs/docs/supported-data-platforms.md b/website/docs/docs/supported-data-platforms.md index 8ac782991c8..4da59cf0991 100644 --- a/website/docs/docs/supported-data-platforms.md +++ b/website/docs/docs/supported-data-platforms.md @@ -12,6 +12,10 @@ You can [connect](/docs/connect-adapters) to adapters and data platforms either You can also further customize how dbt works with your specific data platform via configuration: see [Configuring Postgres](/reference/resource-configs/postgres-configs) for an example. +import MSCallout from '/snippets/_microsoft-adapters-soon.md'; + + + ## Types of Adapters There are three types of adapters available today: diff --git a/website/docs/docs/verified-adapters.md b/website/docs/docs/verified-adapters.md index a2d28a612d6..170bc8f885b 100644 --- a/website/docs/docs/verified-adapters.md +++ b/website/docs/docs/verified-adapters.md @@ -13,6 +13,10 @@ The verification process serves as the on-ramp to integration with dbt Cloud. As To learn more, see [Verifying a new adapter](/guides/dbt-ecosystem/adapter-development/7-verifying-a-new-adapter). +import MSCallout from '/snippets/_microsoft-adapters-soon.md'; + + + Here are the verified data platforms that connect to dbt and its latest version. import AdaptersVerified from '/snippets/_adapters-verified.md'; diff --git a/website/snippets/_microsoft-adapters-soon.md b/website/snippets/_microsoft-adapters-soon.md new file mode 100644 index 00000000000..a8d4a3da651 --- /dev/null +++ b/website/snippets/_microsoft-adapters-soon.md @@ -0,0 +1,3 @@ +:::tip Coming soon +dbt Cloud support for the Microsoft Fabric and Microsoft Synapse adapters is coming soon! +::: \ No newline at end of file From 18061b753918ad0e505ff6517bd3cf251885634b Mon Sep 17 00:00:00 2001 From: "Leona B. Campbell" <3880403+runleonarun@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:37:53 -0700 Subject: [PATCH 147/216] Update contract.md to include specific rules (reverted to get tech review) (#4258) closes https://github.com/dbt-labs/docs.getdbt.com/issues/4251 Captures this Core change: https://github.com/dbt-labs/dbt-core/pull/8721 This PR adds more context for rules, adds an example, and notes that core includes an error for 1.7 and higher. Note: This PR reverts dbt-labs/docs.getdbt.com#4257 which reverted https://github.com/dbt-labs/docs.getdbt.com/pull/4255 --------- Co-authored-by: Emily Rockman --- website/docs/reference/resource-configs/contract.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/resource-configs/contract.md b/website/docs/reference/resource-configs/contract.md index e8ea6d82287..f9a5376bc05 100644 --- a/website/docs/reference/resource-configs/contract.md +++ b/website/docs/reference/resource-configs/contract.md @@ -25,9 +25,9 @@ This is to ensure that the people querying your model downstream—both inside a The `data_type` defined in your YAML file must match a data type your data platform recognizes. dbt does not do any type aliasing itself. If your data platform recognizes both `int` and `integer` as corresponding to the same type, then they will return a match. -When dbt is comparing data types, it will not compare granular details such as size, precision, or scale. We don't think you should sweat the difference between `varchar(256)` and `varchar(257)`, because it doesn't really affect the experience of downstream queriers. If you need a more-precise assertion, it's always possible to accomplish by [writing or using a custom test](/guides/best-practices/writing-custom-generic-tests). +When dbt compares data types, it will not compare granular details such as size, precision, or scale. We don't think you should sweat the difference between `varchar(256)` and `varchar(257)`, because it doesn't really affect the experience of downstream queriers. You can accomplish a more-precise assertion by [writing or using a custom test](/guides/best-practices/writing-custom-generic-tests). -That said, on certain data platforms, you will need to specify a varchar size or numeric scale if you do not want it to revert to the default. This is most relevant for the `numeric` type on Snowflake, which defaults to a precision of 38 and a scale of 0 (zero digits after the decimal, such as rounded to an integer). To avoid this implicit coercion, specify your `data_type` with a nonzero scale, like `numeric(38, 6)`. +Note that you need to specify a varchar size or numeric scale, otherwise dbt relies on default values. For example, if a `numeric` type defaults to a precision of 38 and a scale of 0, then the numeric column stores 0 digits to the right of the decimal (it only stores whole numbers), which might cause it to fail contract enforcement. To avoid this implicit coercion, specify your `data_type` with a nonzero scale, like `numeric(38, 6)`. dbt Core 1.7 and higher provides a warning if you don't specify precision and scale when providing a numeric data type. ## Example @@ -47,6 +47,8 @@ models: - type: not_null - name: customer_name data_type: string + - name: non_integer + data_type: numeric(38,3) ``` From bab4d68eb61e756814ce2beea3f2e138b10a183c Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 11 Oct 2023 14:45:07 -0700 Subject: [PATCH 148/216] Move 2 cross-project sections to the bottom --- .../docs/docs/collaborate/explore-projects.md | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index 04682e689e6..c5bdd3c2324 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -6,10 +6,6 @@ description: "Learn about dbt Explorer and how to interact with it to understand With dbt Explorer, you can view your project's [resources](/docs/build/projects) (such as models, tests, and metrics) and their lineage to gain a better understanding of its latest production state. Navigate and manage your projects within dbt Cloud to help you and other data developers, analysts, and consumers discover and leverage your dbt resources. -## Lineage for cross-project - -You can also view all the different projects and public models in the account, where the public models are defined, and how they are used to gain a better understanding about your cross-project resources. For more details about a decentralized data management architecture, refer to the [What is data mesh?](https://www.getdbt.com/blog/what-is-data-mesh-the-definition-and-importance-of-data-mesh) blog. - :::tip Public preview Try dbt Explorer! It's available in [Public Preview](/docs/dbt-versions/product-lifecycles#dbt-cloud) as of October 16, 2023 for dbt Cloud customers. More updates coming soon. @@ -67,34 +63,6 @@ To interact with the full lineage graph, you can: -## Explore the cross-project lineage graph - -For cross-project collaboration, you can interact with the DAG in all the same ways as described in [Explore the project full lineage](#project-lineage) but you can also interact with it at the project level and view the details. - -To get a list view of all the projects, select the account name at the top of the **Explore** page near the navigation bar. This view includes a public model list, project list, and a search bar for project searches. You can also view the project-level lineage graph by clicking the Lineage view icon in the page's upper right corner. - -To view the lineage graph at the _project level_, select **Back To All Projects** in the graph’s upper right corner. Each node in the cross-project graph shows how many public models it contains. You can also view the project-level list view by clicking the List view icon in the page's upper right corner. - -If you have permissions for a project in the account, you can view all public models used across the entire account. However, you can only view full public model details and private models if you have permissions for a project where the models are defined. - -From the project-level lineage graph, you can: - -- Click the Lineage view icon (in the graph’s upper right corner) to view the cross-project lineage graph. -- Click the List view icon (in the graph’s upper right corner) to view the project list. - - Select a project from the **Projects** tab to switch to that project’s main **Explore** page. - - Select a model from the **Public Models** tab to view the [model’s details page](#view-resource-details). - - Perform searches on your projects with the search bar. -- Select a project node in the graph (double-clicking) to switch to that particular project’s lineage graph. - -When you select a project node in the graph, a project details panel opens on the graph’s right-hand side where you can: - -- View counts of the resources defined in the project. -- View a list of its public models, if any. -- View a list of other projects that uses the project, if any. -- Click **Open Project Lineage** to switch to the project’s lineage graph. -- Click the Share icon to copy the project panel link to your clipboard so you can share the graph with someone. - - ## Search for resources {#search-resources} With the search bar (on the upper left of the page or in a lineage graph), you can search with keywords or [node selection syntax](/reference/node-selection/syntax). The resources that match your search criteria will display as a lineage graph and a table in the main section of the page. @@ -210,3 +178,36 @@ An example of the details you might get for each source table within a source co - **Source freshness** section — Information on whether refreshing the data was successful, the last time the source was loaded, the timestamp of when a run generated data, and the run ID. - **Details** section — Details like database, schema, and more. - **Relationships** section — A table that lists all the sources used with their freshness status, the timestamp of when freshness was last checked, and the timestamp of when the source was last loaded. + +## Lineage for cross-project + +You can also view all the different projects and public models in the account, where the public models are defined, and how they are used to gain a better understanding about your cross-project resources. For more details about a decentralized data management architecture, refer to the [What is data mesh?](https://www.getdbt.com/blog/what-is-data-mesh-the-definition-and-importance-of-data-mesh) blog. + +### Explore the cross-project lineage graph + +For cross-project collaboration, you can interact with the DAG in all the same ways as described in [Explore the project full lineage](#project-lineage) but you can also interact with it at the project level and view the details. + +To get a list view of all the projects, select the account name at the top of the **Explore** page near the navigation bar. This view includes a public model list, project list, and a search bar for project searches. You can also view the project-level lineage graph by clicking the Lineage view icon in the page's upper right corner. + +To view the lineage graph at the _project level_, select **Back To All Projects** in the graph’s upper right corner. Each node in the cross-project graph shows how many public models it contains. You can also view the project-level list view by clicking the List view icon in the page's upper right corner. + +If you have permissions for a project in the account, you can view all public models used across the entire account. However, you can only view full public model details and private models if you have permissions for a project where the models are defined. + +From the project-level lineage graph, you can: + +- Click the Lineage view icon (in the graph’s upper right corner) to view the cross-project lineage graph. +- Click the List view icon (in the graph’s upper right corner) to view the project list. + - Select a project from the **Projects** tab to switch to that project’s main **Explore** page. + - Select a model from the **Public Models** tab to view the [model’s details page](#view-resource-details). + - Perform searches on your projects with the search bar. +- Select a project node in the graph (double-clicking) to switch to that particular project’s lineage graph. + +When you select a project node in the graph, a project details panel opens on the graph’s right-hand side where you can: + +- View counts of the resources defined in the project. +- View a list of its public models, if any. +- View a list of other projects that uses the project, if any. +- Click **Open Project Lineage** to switch to the project’s lineage graph. +- Click the Share icon to copy the project panel link to your clipboard so you can share the graph with someone. + + From cb4fd95d7fe8db7be4a076dc902e24c4e45dce0d Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 11 Oct 2023 15:09:01 -0700 Subject: [PATCH 149/216] Add info about Azure --- .../release-notes/03-Oct-2023/custom-branch-fix-rn.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/custom-branch-fix-rn.md b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/custom-branch-fix-rn.md index b3e0b60313a..06550b7d863 100644 --- a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/custom-branch-fix-rn.md +++ b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/custom-branch-fix-rn.md @@ -4,9 +4,11 @@ description: "October 2023: CI job runs now default to the main branch of the Gi sidebar_label: "Fix: Default behavior for CI job runs without a custom branch" tags: [Oct-2023, CI] date: 2023-10-06 -sidebar_position: 09 +sidebar_position: 08 --- If you don't set a [custom branch](/docs/dbt-cloud-environments#custom-branch-behavior) for your dbt Cloud environment, it now defaults to the default branch of your Git repository (for example, `main`). Previously, [CI jobs](/docs/deploy/ci-jobs) would run for pull requests (PRs) that were opened against _any branch_ or updated with new commits if the **Custom Branch** option wasn't set. +## Azure DevOps +Your Git pull requests (PRs) might not trigger against your default branch if you're using Azure DevOps and the default branch isn't `main` or `master`. To resolve this, [set up a custom branch](/faqs/Environments/custom-branch-settings) with the branch you want to target. From 90ab6c50327ffcc644bbe2109bc2bb8610cd0d73 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 11 Oct 2023 15:30:56 -0700 Subject: [PATCH 150/216] Remove callout --- website/docs/reference/commands/retry.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/website/docs/reference/commands/retry.md b/website/docs/reference/commands/retry.md index d494a46cf1f..8da5d5a77a6 100644 --- a/website/docs/reference/commands/retry.md +++ b/website/docs/reference/commands/retry.md @@ -4,14 +4,6 @@ sidebar_label: "retry" id: "retry" --- -:::info Support in dbt Cloud - -`dbt retry` is supported in the dbt Cloud IDE. - -Native support for restarting scheduled runs from point of failure is currently in development & coming soon. - -::: - `dbt retry` re-executes the last `dbt` command from the node point of failure. If the previously executed `dbt` command was successful, `retry` will finish as `no operation`. Retry works with the following commands: From c8ac420987d26eec86f7fd25d5ac9d1434a85713 Mon Sep 17 00:00:00 2001 From: Dave Connors Date: Wed, 11 Oct 2023 17:41:15 -0500 Subject: [PATCH 151/216] cross project lineage --- .../docs/docs/collaborate/explore-projects.md | 20 ++++++++++++++---- .../cross-project-lineage-child.png | Bin 0 -> 66197 bytes .../cross-project-lineage-parent.png | Bin 0 -> 86272 bytes 3 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 website/static/img/docs/collaborate/dbt-explorer/cross-project-lineage-child.png create mode 100644 website/static/img/docs/collaborate/dbt-explorer/cross-project-lineage-parent.png diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index c5bdd3c2324..6007db4dcd1 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -183,13 +183,11 @@ An example of the details you might get for each source table within a source co You can also view all the different projects and public models in the account, where the public models are defined, and how they are used to gain a better understanding about your cross-project resources. For more details about a decentralized data management architecture, refer to the [What is data mesh?](https://www.getdbt.com/blog/what-is-data-mesh-the-definition-and-importance-of-data-mesh) blog. -### Explore the cross-project lineage graph +### Explore the project level lineage graph For cross-project collaboration, you can interact with the DAG in all the same ways as described in [Explore the project full lineage](#project-lineage) but you can also interact with it at the project level and view the details. -To get a list view of all the projects, select the account name at the top of the **Explore** page near the navigation bar. This view includes a public model list, project list, and a search bar for project searches. You can also view the project-level lineage graph by clicking the Lineage view icon in the page's upper right corner. - -To view the lineage graph at the _project level_, select **Back To All Projects** in the graph’s upper right corner. Each node in the cross-project graph shows how many public models it contains. You can also view the project-level list view by clicking the List view icon in the page's upper right corner. +To get a list view of all the projects, select the account name at the top of the **Explore** page near the navigation bar. This view includes a public model list, project list, and a search bar for project searches. You can also view the project-level lineage graph by clicking the Lineage view icon in the page's upper right corner. If you have permissions for a project in the account, you can view all public models used across the entire account. However, you can only view full public model details and private models if you have permissions for a project where the models are defined. @@ -211,3 +209,17 @@ When you select a project node in the graph, a project details panel opens on th - Click the Share icon to copy the project panel link to your clipboard so you can share the graph with someone. + + +### Understanding cross project lineage + +When viewing the resource-level lineage graph for a given project that uses cross-project references, you will see cross-project relationships represented in the DAG. The iconography will be slighly different depending on whether you're viewing the lineage of an upstream, producer project or a downstream, consumer project. + +When viewing an upstream project that produces public models that are imported by downstream projects, public models will have a counter icon in their upper right hand corner that indicates the number of projects that declare the current project as a dependency. Clicking on that model will expand the lineage to show the specific projects that are dependent on this model. Projects will show up in this counter if they declare the parent project as a dependency in its `dependencies.yml`, regardless of whether or not there is a direct `{{ ref() }}` against the public model. Clicking on a project node from a public model will open the resource-level lineage graph of that project, subject to your permissions. + + + +When viewing an downstream project that imports and refs public models from an upstream projects, public models will show up in the lineage graph, and there will be an icon on the graph edge that indicates the relationship is to a model from another project. Hovering over this icon indicates the specific dbt Cloud project that produces that model. Double clicking on a model from another project will open the resource-level lineage graph of the parent project, subject to your permissions. + + + diff --git a/website/static/img/docs/collaborate/dbt-explorer/cross-project-lineage-child.png b/website/static/img/docs/collaborate/dbt-explorer/cross-project-lineage-child.png new file mode 100644 index 0000000000000000000000000000000000000000..666db3384fab70a5c962bdbefed8b49699877503 GIT binary patch literal 66197 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 literal 0 HcmV?d00001 diff --git a/website/static/img/docs/collaborate/dbt-explorer/cross-project-lineage-parent.png b/website/static/img/docs/collaborate/dbt-explorer/cross-project-lineage-parent.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5d19de369517a2554b6957b5560b3922744642 GIT binary patch literal 86272 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

vun?wpRYJSuD;a*MjY=d@?7igE zw3~}#`er3kj>VG!M^OU0yf}rg7$L(#-(kZ+iag8iiy8GTN3~aQLC~FQAHB*r^1TErCMl>z5*B~(R=p32! zkzo)c*`+>UV5)TF0B}I1W=QFw|0iXFhlEew<~n9iVhIJ8zi>Q)3!FWu1os&a_xR7~ z@8r29+nJ@^U#D#{H+#=EZ1&Xe`__Kw_p>VFrY@HODbvw$g)b1l zgrxJT(U4c5nyzAy@yB?=u#za>@UK%_?#s1l?@b9MsH%t}n%}$sI+=ZVSbBQD$vQjV z*=JgdRrO^|Y=MB>Teg`}*EpjU1=1Z%(()Q+P$-cA=u4gydQI#!S2*~gV5drc|uFyiH-Js6EnVF~hWl+{29>aY48w&d4^{gb3I&Ibo-Yz&)u zNxI^bVdXJh-vYhl_W?8vl_H+P!?U#OXA(1~t8$klXg#|(gEh&WxDa|5>63OxZ$M59 zN%47!Jz!*xMU0O|em62P&K>vcCn|VM(wWW^v+;QITCH>CTRNSGhN1~Ep;GH@_y+fY zpj3Jg$nuk+c0pVi)w1XsKgvPevP{u_Z%SB0N^Q^SjECP>M(4GX)fRMuj3n-`a+sJn z2z*u)4sOCsYQ>KTlfITRi}?6;Ju%hH^!qQLna!uiw#mXT4>PVmvv3Vq+nJd8!>d3s zk>u3%3aR!S3~LrYtX&N$CLJGQ$3m3k8{;K3x9VetlQMS{2v~i1LX(eS3Oi^2>hu>q zLVfoIHGW~h$Lt4uOuz@|#o=zu#@b3_R&zl|Tex)QDe%RVwXKH@7&qtoD zz;$1!8DqSBzvW^Tb7>{MovM9H0&bHHg&D!EF3HsNEWm^jZ6XyX#A_nu0b+`%=gbQ# zRt%Ya2%c`9PtnAG!@<(;=<>?@L94B{-pS#D1ReWaTA+s-^CnR5uCo-^dDZv~(oTl8 zRLcD+!*N#958LyLdL4}&OAT+8Hj+vz{ls{H{3?0rcE#ip(b)@2u*{mT>VXoNDUoesTf^ ze0O_`K~LYz_<_~|0aHXI*_bBBHQBfZc7O2`G8YFu=U!Ko?$;OP?26g`(E(VSbj~NW zy}VZ0*VNxWUQ|(dyZW2)&%pqZ$N8$5p2aLahml;WSZ)mxH*l9R`@cA43Z9S?igo0( zaF%mxM60KQTeyhRKO&z4JPKL2U1yFe$V|mpu*l?MQJWEWHufKF4j}KQokG^u(7cN; z7~leJblZ#Xxw9E4>%o;v_cM`K^Qp+*RmGM=KDI9M>aprrD?gRsOm3PsM Date: Wed, 11 Oct 2023 18:44:05 -0400 Subject: [PATCH 154/216] Update website/docs/guides/migration/versions/00-upgrading-to-v1.7.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/guides/migration/versions/00-upgrading-to-v1.7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index 4ffb2220006..fe2eccce972 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -37,7 +37,7 @@ dbt Labs is committed to providing backward compatibility for all versions 1.x, ### Model governance -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: +dbt Core v1.5 introduced model governance which we're continuing to refine. v1.7 includes these additional features and functionality: - **[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. From a5f02896a7cc883e884ff5d4b6b4ae60e20d3648 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:44:26 -0400 Subject: [PATCH 155/216] Update website/docs/guides/migration/versions/00-upgrading-to-v1.7.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/guides/migration/versions/00-upgrading-to-v1.7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index fe2eccce972..24261885bd2 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -39,7 +39,7 @@ dbt Labs is committed to providing backward compatibility for all versions 1.x, dbt Core v1.5 introduced model governance which we're continuing to refine. v1.7 includes these additional features and functionality: -- **[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. +- **[Breaking change detection](/reference/resource-properties/versions#detecting-breaking-changes) 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. From b66dfac25612f79a7e4e478d65b39014c9c5993d Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:46:12 -0400 Subject: [PATCH 156/216] Apply suggestions from code review Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- .../guides/migration/versions/00-upgrading-to-v1.7.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index 24261885bd2..fc60b573d71 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -40,12 +40,13 @@ dbt Labs is committed to providing backward compatibility for all versions 1.x, dbt Core v1.5 introduced model governance which we're continuing to refine. v1.7 includes these additional features and functionality: - **[Breaking change detection](/reference/resource-properties/versions#detecting-breaking-changes) 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. +- **[Set `access` as a config](/reference/resource-configs/access):** You can now set a model's `access` within config blocks in the model's file or in 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, but you can opt-out. +- **[Raise warning for numeric types](/reference/resource-configs/contract):** Because of issues when putting `numeric` in model contracts without considering that default values such as `numeric(38,0)` might round decimals accordingly. dbt will now warn you if it finds a numeric type without specified precision/scale. ### Quick hits -- You can configure a `delimiter` for a seed file. -- Support packages with the same git repo and unique subdirectory. +With these quick hits, you can now: +- Configure a `delimiter` for a seed file. +- Use packages with the same git repo and unique subdirectory. - Moved the `date_spine` macro from dbt-utils to dbt-core. From 65fa0c6f266fb2eac05d04138b747148dbad0ba8 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:46:27 -0400 Subject: [PATCH 157/216] Apply suggestions from code review --- website/docs/guides/migration/versions/00-upgrading-to-v1.7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index fc60b573d71..ba079e6a0fb 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -47,6 +47,6 @@ dbt Core v1.5 introduced model governance which we're continuing to refine. v1. ### Quick hits With these quick hits, you can now: -- Configure a `delimiter` for a seed file. +- Configure a `delimiter` for a seed file. - Use packages with the same git repo and unique subdirectory. - Moved the `date_spine` macro from dbt-utils to dbt-core. From 39f277fe64791e920897f559560c7cf05b0e8c53 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Wed, 11 Oct 2023 15:59:34 -0700 Subject: [PATCH 158/216] Add beta disclaimer --- .../docs/cloud/manage-access/set-up-databricks-oauth.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md index de0e7155f53..870f8c015b8 100644 --- a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md +++ b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md @@ -12,6 +12,15 @@ This guide describes a feature of the dbt Cloud Enterprise plan. If you’re int dbt Cloud supports developer OAuth ([OAuth for partner solutions](https://docs.databricks.com/en/integrations/manage-oauth.html)) with Databricks, providing an additional layer of security for dbt enterprise users. When Databricks OAuth is enabled for a dbt Cloud project, all dbt Cloud developers must authenticate with Databricks in order to use the dbt Cloud IDE. The project's deployment environments will still leverage the Databricks authentication method set at the environment level. +:::tip Beta Feature + +Databricks OAuth support in dbt Cloud is a [beta feature](/docs/dbt-versions/product-lifecycles#dbt-cloud) and subject to change without notification. More updates to this feature coming soon. + +Current constraints / limitations: +- Databricks OAuth applications are in public preview +- The current experience requires the IDE to be restarted every hour (refresh token limited to 1h) + +::: ### Configure Databricks OAuth (Databricks admin) From d7c5cb51a5667bed06cebd707d0f26739839caf2 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:09:27 -0400 Subject: [PATCH 159/216] Update website/docs/reference/resource-configs/enabled.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/reference/resource-configs/enabled.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/enabled.md b/website/docs/reference/resource-configs/enabled.md index cb9a3cf5fb2..52045503088 100644 --- a/website/docs/reference/resource-configs/enabled.md +++ b/website/docs/reference/resource-configs/enabled.md @@ -253,7 +253,7 @@ exposures: - + Support for disabling semantic models has been added in dbt Core v1.7 From 933bbab5a629820900f5505dfb1ef47be44e10f4 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:58:23 -0400 Subject: [PATCH 160/216] Built in aliasing for data_type --- .../reference/resource-configs/contract.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/website/docs/reference/resource-configs/contract.md b/website/docs/reference/resource-configs/contract.md index f9a5376bc05..40e2cc8b27d 100644 --- a/website/docs/reference/resource-configs/contract.md +++ b/website/docs/reference/resource-configs/contract.md @@ -23,8 +23,31 @@ When the `contract` configuration is enforced, dbt will ensure that your model's This is to ensure that the people querying your model downstream—both inside and outside dbt—have a predictable and consistent set of columns to use in their analyses. Even a subtle change in data type, such as from `boolean` (`true`/`false`) to `integer` (`0`/`1`), could cause queries to fail in surprising ways. + + The `data_type` defined in your YAML file must match a data type your data platform recognizes. dbt does not do any type aliasing itself. If your data platform recognizes both `int` and `integer` as corresponding to the same type, then they will return a match. + + + + +dbt uses built-in type aliasing for the `data_type` defined in your YAML. For example, you can specify `string` in your contract, and on Postgres/Redshift, dbt will convert it to `text`. If dbt doesn't recognize the `data_type` name among its known aliases, it will pass it through as-is. This is enabled by default, but you can opt-out by setting `alias_types` to `false`. + +Example: + +```yml + +models: + - name: my_model + config: + contract: + enforced: true + alias_types: false # true by default + +``` + + + When dbt compares data types, it will not compare granular details such as size, precision, or scale. We don't think you should sweat the difference between `varchar(256)` and `varchar(257)`, because it doesn't really affect the experience of downstream queriers. You can accomplish a more-precise assertion by [writing or using a custom test](/guides/best-practices/writing-custom-generic-tests). Note that you need to specify a varchar size or numeric scale, otherwise dbt relies on default values. For example, if a `numeric` type defaults to a precision of 38 and a scale of 0, then the numeric column stores 0 digits to the right of the decimal (it only stores whole numbers), which might cause it to fail contract enforcement. To avoid this implicit coercion, specify your `data_type` with a nonzero scale, like `numeric(38, 6)`. dbt Core 1.7 and higher provides a warning if you don't specify precision and scale when providing a numeric data type. From 0e24f55539383029ec55fe985085e563677a57d9 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 20:13:04 -0400 Subject: [PATCH 161/216] Time spine move from dbt-utils to dbt-core --- website/docs/docs/build/metricflow-time-spine.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/build/metricflow-time-spine.md b/website/docs/docs/build/metricflow-time-spine.md index 254fa3cc5f0..2653e98601b 100644 --- a/website/docs/docs/build/metricflow-time-spine.md +++ b/website/docs/docs/build/metricflow-time-spine.md @@ -22,7 +22,7 @@ To create this table, you need to create a model in your dbt project called `met with days as ( {{ - dbt_utils.date_spine( + dbt_core.date_spine( 'day', "to_date('01/01/2000','mm/dd/yyyy')", "to_date('01/01/2027','mm/dd/yyyy')" @@ -45,7 +45,7 @@ select * from final -- BigQuery supports DATE() instead of TO_DATE(). Use this model if you're using BigQuery {{config(materialized='table')}} with days as ( - {{dbt_utils.date_spine( + {{dbt_core.date_spine( 'day', "DATE(2000,01,01)", "DATE(2030,01,01)" From 9308a065eafdddd6a47cb73e41f8c07c576d16b2 Mon Sep 17 00:00:00 2001 From: "Leona B. Campbell" <3880403+runleonarun@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:07:08 -0700 Subject: [PATCH 162/216] Update semantic-models.md (#4264) Closes https://github.com/dbt-labs/docs.getdbt.com/issues/4127 ## What are you changing in this pull request and why? Removes "optional" and adds default for `create_metric` ## Checklist - [ ] Review the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) and [About versioning](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/single-sourcing-content.md#adding-a-new-version) so my content adheres to these guidelines. - [ ] Add a checklist item for anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch." Adding new pages (delete if not applicable): - [ ] Add page to `website/sidebars.js` - [ ] Provide a unique filename for the new page Removing or renaming existing pages (delete if not applicable): - [ ] Remove page from `website/sidebars.js` - [ ] Add an entry `website/static/_redirects` - [ ] [Ran link testing](https://github.com/dbt-labs/docs.getdbt.com#running-the-cypress-tests-locally) to update the links that point to the deleted page --- website/docs/docs/build/semantic-models.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/website/docs/docs/build/semantic-models.md b/website/docs/docs/build/semantic-models.md index ffb5e9653f7..3341f49609a 100644 --- a/website/docs/docs/build/semantic-models.md +++ b/website/docs/docs/build/semantic-models.md @@ -232,8 +232,7 @@ For semantic models with a measure, you must have a [primary time group](/docs/b | `agg` | dbt supports the following aggregations: `sum`, `max`, `min`, `count_distinct`, and `sum_boolean`. | Required | | `expr` | You can either reference an existing column in the table or use a SQL expression to create or derive a new one. | Optional | | `non_additive_dimension` | Non-additive dimensions can be specified for measures that cannot be aggregated over certain dimensions, such as bank account balances, to avoid producing incorrect results. | Optional | -| `create_metric`* | You can create a metric directly from a measure with create_metric: True and specify its display name with create_metric_display_name. | Optional | -_*Coming soon_ +| `create_metric` | You can create a metric directly from a measure with `create_metric: True` and specify its display name with create_metric_display_name. Default is false. | Optional | import SetUpPages from '/snippets/_metrics-dependencies.md'; From 97b12436a272664c5c69d65d56451540d1385085 Mon Sep 17 00:00:00 2001 From: mani-dbt <104029668+mani-dbt@users.noreply.github.com> Date: Wed, 11 Oct 2023 23:26:29 -0700 Subject: [PATCH 163/216] Update the link URL in docs page 1-airflow-and-dbt-cloud.md (#4261) In this docs page: https://docs.getdbt.com/guides/orchestration/airflow-and-dbt-cloud/1-airflow-and-dbt-cloud section Airflow + dbt Cloud API w/Custom Scripts was showing a wrong link for Astronomer registry. Updated the same Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- .../airflow-and-dbt-cloud/1-airflow-and-dbt-cloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/orchestration/airflow-and-dbt-cloud/1-airflow-and-dbt-cloud.md b/website/docs/guides/orchestration/airflow-and-dbt-cloud/1-airflow-and-dbt-cloud.md index d453106eead..d6760771b79 100644 --- a/website/docs/guides/orchestration/airflow-and-dbt-cloud/1-airflow-and-dbt-cloud.md +++ b/website/docs/guides/orchestration/airflow-and-dbt-cloud/1-airflow-and-dbt-cloud.md @@ -19,7 +19,7 @@ There are [so many great examples](https://gitlab.com/gitlab-data/analytics/-/bl ### Airflow + dbt Cloud API w/Custom Scripts -This has served as a bridge until the fabled Astronomer + dbt Labs-built dbt Cloud provider became generally available [here](https://registry.astronomer.io/providers/dbt-cloud?type=Sensors&utm_campaign=Monthly%20Product%20Updates&utm_medium=email&_hsmi=208603877&utm_content=208603877&utm_source=hs_email). +This has served as a bridge until the fabled Astronomer + dbt Labs-built dbt Cloud provider became generally available [here](https://registry.astronomer.io/providers/dbt%20Cloud/versions/latest). There are many different permutations of this over time: From fb3f6cb137a2bd933196ef00b29ba4d6cc23080a Mon Sep 17 00:00:00 2001 From: Jackson de Oliveira <39113242+jocundjackson@users.noreply.github.com> Date: Thu, 12 Oct 2023 09:22:42 -0400 Subject: [PATCH 164/216] Typo fix about-cloud-ide.md --- website/docs/docs/cloud/about-cloud/about-cloud-ide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/about-cloud/about-cloud-ide.md b/website/docs/docs/cloud/about-cloud/about-cloud-ide.md index f0380f109f8..7643928feec 100644 --- a/website/docs/docs/cloud/about-cloud/about-cloud-ide.md +++ b/website/docs/docs/cloud/about-cloud/about-cloud-ide.md @@ -25,7 +25,7 @@ With the Cloud IDE, you can: For more information, read the complete [Cloud IDE guide](/docs/cloud/dbt-cloud-ide/develop-in-the-cloud). -## Relatd docs +## Related docs - [IDE user interface](/docs/cloud/dbt-cloud-ide/ide-user-interface) - [Tips and tricks](/docs/cloud/dbt-cloud-ide/dbt-cloud-tips) From b12e16d4e9aa606e861f6431213503e043803d12 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 10:06:07 -0400 Subject: [PATCH 165/216] Adding docs generate to syntax table --- website/docs/reference/node-selection/syntax.md | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 7c165b0f4ff..10fdebd0f94 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -14,6 +14,7 @@ dbt's node selection syntax makes it possible to run only specific resources in | [compile](/reference/commands/compile) | `--select`, `--exclude`, `--selector`, `--inline` | | [freshness](/reference/commands/source) | `--select`, `--exclude`, `--selector` | | [build](/reference/commands/build) | `--select`, `--exclude`, `--selector`, `--resource-type`, `--defer` | +| [docs generate](/reference/commands/cmd-docs) | `--select` | :::info Nodes and resources From 880baf001e15040e520505b75e3258abf92c67ab Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:06:46 -0400 Subject: [PATCH 166/216] Adding store_failures_as --- .../resource-configs/store_failures.md | 2 +- .../resource-configs/store_failures_as.md | 76 +++++++++++++++++++ website/sidebars.js | 1 + 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 website/docs/reference/resource-configs/store_failures_as.md diff --git a/website/docs/reference/resource-configs/store_failures.md b/website/docs/reference/resource-configs/store_failures.md index 3c965179211..6c71cdb9296 100644 --- a/website/docs/reference/resource-configs/store_failures.md +++ b/website/docs/reference/resource-configs/store_failures.md @@ -3,7 +3,7 @@ resource_types: [tests] datatype: boolean --- -The configured test(s) will store their failures when `dbt test --store-failures` is invoked. +The configured test(s) will store their failures when `dbt test --store-failures` is invoked. If you set this configuration as `false` but [`store_failures_as`](/reference/resource-configs/store_failures_as) is configured, it will be overriden. ## Description Optionally set a test to always or never store its failures in the database. diff --git a/website/docs/reference/resource-configs/store_failures_as.md b/website/docs/reference/resource-configs/store_failures_as.md new file mode 100644 index 00000000000..9c494af26a0 --- /dev/null +++ b/website/docs/reference/resource-configs/store_failures_as.md @@ -0,0 +1,76 @@ +--- +resource_types: [tests] +id: "store_failures_as" +--- + +For the `test` resource type, `store_failures_as` is an optional config that specifies how test failures should be stored in the database. If [`store_failures`](/reference/resource-configs/store_failures) is configured, `store_failures_as` takes precedence. + +The three supported values are: + +- `ephemeral` — nothing stored in the database (default) +- `table` — test failures stored as a database table +- `view` — test failures stored as a database view + +You can configure it in all the same places as `store_failures`, including singular tests (.sql files), generic tests (.yml files), and dbt_project.yml. + +### Examples + +#### Singular test + +[Singular test](https://docs.getdbt.com/docs/build/tests#singular-tests) in `tests/singular/check_something.sql` file + +```sql +{{ config(store_failures_as="table") }} + +-- custom singular test +select 1 as id +where 1=0 +``` + +#### Generic test + +[Generic tests](https://docs.getdbt.com/docs/build/tests#generic-tests) in `models/_models.yml` file + +```yaml +models: + - name: my_model + columns: + - name: id + tests: + - not_null: + config: + store_failures_as: view + - unique: + config: + store_failures_as: ephemeral +``` + +#### Project level + +Config in `dbt_project.yml` + +```yaml +name: "my_project" +version: "1.0.0" +config-version: 2 +profile: "sandcastle" + +tests: + my_project: + +store_failures_as: table + my_subfolder_1: + +store_failures_as: view + my_subfolder_2: + +store_failures_as: ephemeral +``` + +### "Clobbering" configs + +As with most other configurations, `store_failures_as` is "clobbered" when applied hierarchically. Whenever a more specific value is available, it will completely replace the less specific value. + +Additional resources: + +- [Test configurations](/reference/test-configs#related-documentation) +- [Test-specific configurations](/reference/test-configs#test-specific-configurations) +- [Configuring directories of models in dbt_project.yml](/reference/model-configs#configuring-directories-of-models-in-dbt_projectyml) +- [Config inheritance](/reference/configs-and-properties#config-inheritance) \ No newline at end of file diff --git a/website/sidebars.js b/website/sidebars.js index 538575ed0f8..8fed122f444 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -720,6 +720,7 @@ const sidebarSettings = { "reference/resource-configs/limit", "reference/resource-configs/severity", "reference/resource-configs/store_failures", + "reference/resource-configs/store_failures_as", "reference/resource-configs/where", ], }, From 20386f5d2b5ff0ecf443a0a0f994c47b244d6db0 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:10:04 -0400 Subject: [PATCH 167/216] Adding page versioning --- website/dbt-versions.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/website/dbt-versions.js b/website/dbt-versions.js index 3eff99e7f98..8689547fd67 100644 --- a/website/dbt-versions.js +++ b/website/dbt-versions.js @@ -27,6 +27,10 @@ exports.versions = [ ] exports.versionedPages = [ + { + "page": "reference/resource-configs/store_failures_as", + "firstVersion": "1.7", + }, { "page": "docs/build/build-metrics-intro", "firstVersion": "1.6", From 1c3e9e09a51db7816e5455a95f92eb2ecf9d6d68 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Thu, 12 Oct 2023 08:46:31 -0700 Subject: [PATCH 168/216] Callback and token fix --- .../docs/docs/cloud/manage-access/set-up-databricks-oauth.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md index 870f8c015b8..0557cfb7d3c 100644 --- a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md +++ b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md @@ -18,7 +18,7 @@ Databricks OAuth support in dbt Cloud is a [beta feature](/docs/dbt-versions/pro Current constraints / limitations: - Databricks OAuth applications are in public preview -- The current experience requires the IDE to be restarted every hour (refresh token limited to 1h) +- The current experience requires the IDE to be restarted every hour (access tokens expire after 1 hour) ::: @@ -35,7 +35,7 @@ To get started, you will need to [add dbt as an OAuth application](https://docs. For that second step, here is a sample snippet with username/password: ```BASH -curl -u USERNAME:PASSWORD https://accounts.cloud.databricks.com/api/2.0/accounts/ACCOUNT_ID/oauth2/custom-app-integrations -d '{"redirect_urls": ["https://YOUR_ACCESS_URL/callback", "https://YOUR_ACCESS_URL/complete/databricks"], "confidential": true, "name": "NAME", "scopes": ["sql", "offline_access"]}' +curl -u USERNAME:PASSWORD https://accounts.cloud.databricks.com/api/2.0/accounts/ACCOUNT_ID/oauth2/custom-app-integrations -d '{"redirect_urls": ["https://YOUR_ACCESS_URL", "https://YOUR_ACCESS_URL/complete/databricks"], "confidential": true, "name": "NAME", "scopes": ["sql", "offline_access"]}' ``` Replacing the parameters with: From 1dc427f9a336755b1b733779689a63aff9f47969 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Thu, 12 Oct 2023 09:02:22 -0700 Subject: [PATCH 169/216] Add workaround --- .../docs/docs/cloud/manage-access/set-up-databricks-oauth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md index 0557cfb7d3c..3edfb7f6adb 100644 --- a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md +++ b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md @@ -18,7 +18,7 @@ Databricks OAuth support in dbt Cloud is a [beta feature](/docs/dbt-versions/pro Current constraints / limitations: - Databricks OAuth applications are in public preview -- The current experience requires the IDE to be restarted every hour (access tokens expire after 1 hour) +- The current experience requires the IDE to be restarted every hour (access tokens expire after 1 hour - [workaround](https://docs.databricks.com/en/integrations/manage-oauth.html#override-the-default-token-lifetime-policy-for-dbt-core-power-bi-or-tableau-desktop)) ::: From fe2a2d21eda184307b6939df3f629476a6f21846 Mon Sep 17 00:00:00 2001 From: Dean Verhey Date: Thu, 12 Oct 2023 09:43:30 -0700 Subject: [PATCH 170/216] Change pypi link from `dbt` to `dbt-core` --- website/docs/docs/core/pip-install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/core/pip-install.md b/website/docs/docs/core/pip-install.md index a35ad5f0d77..44fac00e493 100644 --- a/website/docs/docs/core/pip-install.md +++ b/website/docs/docs/core/pip-install.md @@ -5,7 +5,7 @@ description: "You can use pip to install dbt Core and adapter plugins from the c You need to use `pip` to install dbt Core on Windows or Linux operating systems. You can use `pip` or [Homebrew](/docs/core/homebrew-install) for installing dbt Core on a MacOS. -You can install dbt Core and plugins using `pip` because they are Python modules distributed on [PyPI](https://pypi.org/project/dbt/). +You can install dbt Core and plugins using `pip` because they are Python modules distributed on [PyPI](https://pypi.org/project/dbt-core/). From 9f8686a45c71409b7ab20eeae6e67c9b70f87ca4 Mon Sep 17 00:00:00 2001 From: Grace Goheen Date: Thu, 12 Oct 2023 10:44:36 -0600 Subject: [PATCH 171/216] updated 1.7 migration guide to call out a behavior change --- .../versions/00-upgrading-to-v1.7.md | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index ba079e6a0fb..8a5659c7f2d 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -14,11 +14,22 @@ 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 + +1.7 expands the amount of sources folks can configure freshness for. Previously, freshness was limited to sources that had a `loaded_at_field`; but now, freshness can be generated from warehouse metadata tables when available. + +As part of this change, the `loaded_at_field` is **no longer required** in order to generate source freshness. If a source has a `freshness:` block, dbt will attempt to calculate freshness for that source: +- if a `loaded_at_field` is provided, dbt will calculate freshness via a select query (previous behavior) +- if a `loaded_at_field` is _not_ provided, dbt will calculate freshness via warehouse metadata tables when possible (new!) + +This is technically a small behavior change comapared to previous versons. In order to _not_ calculate freshness for a source: +- don't add a `freshness:` block +- explicity set `freshness: null` + ## New and changed features and functionality - [`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. +- [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. ### MetricFlow enhancements @@ -32,8 +43,9 @@ dbt Labs is committed to providing backward compatibility for all versions 1.x, - 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`). - +- There were a handful of specific changes to the [catalog.json](/reference/artifacts/catalog-json): + - Added [node attributes](/reference/artifacts/run-results-json) related to compilation (`compiled`, `compiled_code`, `relation_name`) to the `catalog.json`. + - The nodes dictionary in the `catalog.json` can now be "partial" if `dbt docs generate` is run with a selector. ### Model governance @@ -49,4 +61,4 @@ dbt Core v1.5 introduced model governance which we're continuing to refine. v1. With these quick hits, you can now: - Configure a `delimiter` for a seed file. - Use packages with the same git repo and unique subdirectory. -- Moved the `date_spine` macro from dbt-utils to dbt-core. +- Access the `date_spine` macro directly from dbt-core (moved over from dbt-utils). From a40226baba1b4a5fa5caa8c0022ef97659f23a96 Mon Sep 17 00:00:00 2001 From: Doug Guthrie Date: Thu, 12 Oct 2023 10:45:47 -0600 Subject: [PATCH 172/216] Fix dimension name --- website/docs/docs/build/metrics-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/metrics-overview.md b/website/docs/docs/build/metrics-overview.md index b699bf4d959..8761901dc59 100644 --- a/website/docs/docs/build/metrics-overview.md +++ b/website/docs/docs/build/metrics-overview.md @@ -34,7 +34,7 @@ metrics: config: here for `enabled` ## Optional label: The display name for your metric. This value will be shown in downstream tools. ## Required filter: | ## Optional - {{ Dimension('entity__name') }} > 0 and {{ Dimension(' entity__another name') }} is not + {{ Dimension('entity__name') }} > 0 and {{ Dimension(' entity__another_name') }} is not null ``` From 322806c6e56fe14e59fae35a395f7d85bf4a4288 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Thu, 12 Oct 2023 10:01:08 -0700 Subject: [PATCH 173/216] Add new page to sidebar --- website/sidebars.js | 1 + 1 file changed, 1 insertion(+) diff --git a/website/sidebars.js b/website/sidebars.js index 538575ed0f8..d70b8c1c4fe 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -90,6 +90,7 @@ const sidebarSettings = { label: "OAuth with data platforms", items: [ "docs/cloud/manage-access/set-up-snowflake-oauth", + "docs/cloud/manage-access/set-up-databricks-oauth", "docs/cloud/manage-access/set-up-bigquery-oauth", ], }, // oauth From 6f78a15d1a51cc40eaff0333903e7f1831434e9d Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:04:51 -0400 Subject: [PATCH 174/216] Apply suggestions from code review --- .../guides/migration/versions/00-upgrading-to-v1.7.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index 8a5659c7f2d..60218969266 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -16,11 +16,11 @@ dbt Labs is committed to providing backward compatibility for all versions 1.x, ### Behavior changes -1.7 expands the amount of sources folks can configure freshness for. Previously, freshness was limited to sources that had a `loaded_at_field`; but now, freshness can be generated from warehouse metadata tables when available. +dbt Core v1.7 expands the amount of sources you can configure freshness for. Previously, freshness was limited to sources with a `loaded_at_field`; now, freshness can be generated from warehouse metadata tables when available. -As part of this change, the `loaded_at_field` is **no longer required** in order to generate source freshness. If a source has a `freshness:` block, dbt will attempt to calculate freshness for that source: -- if a `loaded_at_field` is provided, dbt will calculate freshness via a select query (previous behavior) -- if a `loaded_at_field` is _not_ provided, dbt will calculate freshness via warehouse metadata tables when possible (new!) +As part of this change, the `loaded_at_field` is no longer required to generate source freshness. If a source has a `freshness:` block, dbt will attempt to calculate freshness for that source: +- If a `loaded_at_field` is provided, dbt will calculate freshness via a select query (previous behavior). +- If a `loaded_at_field` is _not_ provided, dbt will calculate freshness via warehouse metadata tables when possible (new behavior). This is technically a small behavior change comapared to previous versons. In order to _not_ calculate freshness for a source: - don't add a `freshness:` block From 1d57c34a7bac8c64e8af50eb10778d2a4f1da015 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:07:05 -0400 Subject: [PATCH 175/216] Apply suggestions from code review --- .../docs/guides/migration/versions/00-upgrading-to-v1.7.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index 60218969266..6a1d828bff4 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -22,9 +22,9 @@ As part of this change, the `loaded_at_field` is no longer required to generate - If a `loaded_at_field` is provided, dbt will calculate freshness via a select query (previous behavior). - If a `loaded_at_field` is _not_ provided, dbt will calculate freshness via warehouse metadata tables when possible (new behavior). -This is technically a small behavior change comapared to previous versons. In order to _not_ calculate freshness for a source: -- don't add a `freshness:` block -- explicity set `freshness: null` +This is a relatively small behavior change compared to previous versions. To exclude a source from calculating source freshness: +- Don't add a `freshness:` block. +- Explicitly set `freshness: null` ## New and changed features and functionality From 6237a8e340dc72e56a99f5d9744decafff33c667 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:10:23 -0400 Subject: [PATCH 176/216] Update website/docs/guides/migration/versions/00-upgrading-to-v1.7.md --- website/docs/guides/migration/versions/00-upgrading-to-v1.7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index 6a1d828bff4..c92fdaeed4a 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -43,7 +43,7 @@ This is a relatively small behavior change compared to previous versions. To exc - 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. -- There were a handful of specific changes to the [catalog.json](/reference/artifacts/catalog-json): +- There are a few specific changes to the [catalog.json](/reference/artifacts/catalog-json): - Added [node attributes](/reference/artifacts/run-results-json) related to compilation (`compiled`, `compiled_code`, `relation_name`) to the `catalog.json`. - The nodes dictionary in the `catalog.json` can now be "partial" if `dbt docs generate` is run with a selector. From d9382272a6f64d8ebe7179dc50fd5d30d1a062b5 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:15:03 -0400 Subject: [PATCH 177/216] Apply suggestions from code review --- website/docs/docs/build/metricflow-time-spine.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/build/metricflow-time-spine.md b/website/docs/docs/build/metricflow-time-spine.md index 2653e98601b..e7616c1c44a 100644 --- a/website/docs/docs/build/metricflow-time-spine.md +++ b/website/docs/docs/build/metricflow-time-spine.md @@ -22,7 +22,7 @@ To create this table, you need to create a model in your dbt project called `met with days as ( {{ - dbt_core.date_spine( + dbt.date_spine( 'day', "to_date('01/01/2000','mm/dd/yyyy')", "to_date('01/01/2027','mm/dd/yyyy')" @@ -45,7 +45,7 @@ select * from final -- BigQuery supports DATE() instead of TO_DATE(). Use this model if you're using BigQuery {{config(materialized='table')}} with days as ( - {{dbt_core.date_spine( + {{dbt.date_spine( 'day', "DATE(2000,01,01)", "DATE(2030,01,01)" From b771380baa23728f276b7e5fa342bf57c2d7ed70 Mon Sep 17 00:00:00 2001 From: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> Date: Thu, 12 Oct 2023 12:20:56 -0600 Subject: [PATCH 178/216] Update website/docs/guides/migration/versions/00-upgrading-to-v1.7.md --- website/docs/guides/migration/versions/00-upgrading-to-v1.7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index c92fdaeed4a..a85dd0e69e0 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -22,7 +22,7 @@ As part of this change, the `loaded_at_field` is no longer required to generate - If a `loaded_at_field` is provided, dbt will calculate freshness via a select query (previous behavior). - If a `loaded_at_field` is _not_ provided, dbt will calculate freshness via warehouse metadata tables when possible (new behavior). -This is a relatively small behavior change compared to previous versions. To exclude a source from calculating source freshness: +This is a relatively small behavior change, but worth calling out in case you notice that dbt is calculating freshness for _more_ sources than before. To exclude a source from freshness calculations, you have two options: - Don't add a `freshness:` block. - Explicitly set `freshness: null` From 8e097d7a98b978b5440f30a93c5501d2facfb71c Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:22:05 -0400 Subject: [PATCH 179/216] Update website/docs/reference/node-selection/methods.md Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- website/docs/reference/node-selection/methods.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/website/docs/reference/node-selection/methods.md b/website/docs/reference/node-selection/methods.md index 18009679924..b5ffe4b1520 100644 --- a/website/docs/reference/node-selection/methods.md +++ b/website/docs/reference/node-selection/methods.md @@ -353,6 +353,10 @@ dbt list --select version:none # models that are *not* versioned +### The "semantic_model" method + +Supported in v1.6 or newer. + The `semantic_model` method selects [semantic models](/docs/build/semantic-models). From e89dfc8a656690623838d0bc6c7bae4561e42124 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:22:18 -0400 Subject: [PATCH 180/216] Update website/docs/reference/commands/list.md Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- website/docs/reference/commands/list.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/commands/list.md b/website/docs/reference/commands/list.md index 61e60f91333..40e58178ee0 100644 --- a/website/docs/reference/commands/list.md +++ b/website/docs/reference/commands/list.md @@ -98,8 +98,8 @@ $ dbt ls --select snowplow.* --output json --output-keys name resource_type desc **Listing Semantic models** ``` -$ dbt ls -s +semantic_model:number - +# list all resources upstream of your orders semantic model +dbt ls -s +semantic_model:orders ``` From e7a472b76e27f34fc716b4456f543a93491f6957 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:22:57 -0400 Subject: [PATCH 181/216] Update website/docs/reference/node-selection/methods.md Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- website/docs/reference/node-selection/methods.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/docs/reference/node-selection/methods.md b/website/docs/reference/node-selection/methods.md index b5ffe4b1520..7801f29aa33 100644 --- a/website/docs/reference/node-selection/methods.md +++ b/website/docs/reference/node-selection/methods.md @@ -362,10 +362,8 @@ Supported in v1.6 or newer. The `semantic_model` method selects [semantic models](/docs/build/semantic-models). ```bash - -dbt ls --resource-type semantic_model # lists the semantic model resource type -dbt ls -s +semantic_model:number # lists the quantity of semantic models - +dbt list --select semantic_model:* # list all semantic models +dbt list --select +semantic_model:orders # list your semantic model named "orders" and all upstream resources ``` \ No newline at end of file From f37d1b62670be6f5ebeced9e97f16d421a8fa06c Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:25:05 -0400 Subject: [PATCH 182/216] Update website/docs/reference/resource-configs/contract.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/reference/resource-configs/contract.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/contract.md b/website/docs/reference/resource-configs/contract.md index 40e2cc8b27d..59cc511890b 100644 --- a/website/docs/reference/resource-configs/contract.md +++ b/website/docs/reference/resource-configs/contract.md @@ -33,7 +33,7 @@ The `data_type` defined in your YAML file must match a data type your data platf dbt uses built-in type aliasing for the `data_type` defined in your YAML. For example, you can specify `string` in your contract, and on Postgres/Redshift, dbt will convert it to `text`. If dbt doesn't recognize the `data_type` name among its known aliases, it will pass it through as-is. This is enabled by default, but you can opt-out by setting `alias_types` to `false`. -Example: +Example for disabling: ```yml From 89a26548d07c29a16beca4a71d5ff418abd1957a Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:38:22 -0400 Subject: [PATCH 183/216] Adding to tests page --- website/docs/docs/build/tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/tests.md b/website/docs/docs/build/tests.md index fa78d0df905..f41153cf8a3 100644 --- a/website/docs/docs/build/tests.md +++ b/website/docs/docs/build/tests.md @@ -241,7 +241,7 @@ where {{ column_name }} is null ## Storing test failures -Normally, a test query will calculate failures as part of its execution. If you set the optional `--store-failures` flag or [`store_failures` config](/reference/resource-configs/store_failures), dbt will first save the results of a test query to a table in the database, and then query that table to calculate the number of failures. +Normally, a test query will calculate failures as part of its execution. If you set the optional `--store-failures` flag or the [`store_failures`](/reference/resource-configs/store_failures), or [`store_failures_as`](/reference/resource-configs/store_failures_as) configs, dbt will first save the results of a test query to a table in the database, and then query that table to calculate the number of failures. This workflow allows you to query and examine failing records much more quickly in development: From 7e272e22a1c4b671f046afa5079d637fcac3d5a3 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:39:26 -0400 Subject: [PATCH 184/216] Update website/docs/docs/build/tests.md --- website/docs/docs/build/tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/tests.md b/website/docs/docs/build/tests.md index f41153cf8a3..75ee5992a76 100644 --- a/website/docs/docs/build/tests.md +++ b/website/docs/docs/build/tests.md @@ -241,7 +241,7 @@ where {{ column_name }} is null ## Storing test failures -Normally, a test query will calculate failures as part of its execution. If you set the optional `--store-failures` flag or the [`store_failures`](/reference/resource-configs/store_failures), or [`store_failures_as`](/reference/resource-configs/store_failures_as) configs, dbt will first save the results of a test query to a table in the database, and then query that table to calculate the number of failures. +Normally, a test query will calculate failures as part of its execution. If you set the optional `--store-failures` flag, the [`store_failures`](/reference/resource-configs/store_failures), or the [`store_failures_as`](/reference/resource-configs/store_failures_as) configs, dbt will first save the results of a test query to a table in the database, and then query that table to calculate the number of failures. This workflow allows you to query and examine failing records much more quickly in development: From f116fe9cb158a5c5add8aec3e21e9ebcec6b9caa Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Thu, 12 Oct 2023 13:20:44 -0600 Subject: [PATCH 185/216] Remove comment from code example --- website/docs/reference/commands/list.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/commands/list.md b/website/docs/reference/commands/list.md index 40e58178ee0..93a0b87dd93 100644 --- a/website/docs/reference/commands/list.md +++ b/website/docs/reference/commands/list.md @@ -97,8 +97,8 @@ $ dbt ls --select snowplow.* --output json --output-keys name resource_type desc **Listing Semantic models** +List all resources upstream of your orders semantic model: ``` -# list all resources upstream of your orders semantic model dbt ls -s +semantic_model:orders ``` From c894c90321c4d53543bdad9f185d6cc006804f22 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 16:07:10 -0400 Subject: [PATCH 186/216] Adding version blocks --- .../docs/docs/build/metricflow-time-spine.md | 71 ++++++++++++++++++- 1 file changed, 69 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/build/metricflow-time-spine.md b/website/docs/docs/build/metricflow-time-spine.md index 2653e98601b..997d85e38a8 100644 --- a/website/docs/docs/build/metricflow-time-spine.md +++ b/website/docs/docs/build/metricflow-time-spine.md @@ -12,6 +12,39 @@ To create this table, you need to create a model in your dbt project called `met + + +```sql +{{ + config( + materialized = 'table', + ) +}} + +with days as ( + + {{ + dbt_utils.date_spine( + 'day', + "to_date('01/01/2000','mm/dd/yyyy')", + "to_date('01/01/2027','mm/dd/yyyy')" + ) + }} + +), + +final as ( + select cast(date_day as date) as date_day + from days +) + +select * from final +``` + + + + + ```sql {{ config( @@ -22,7 +55,7 @@ To create this table, you need to create a model in your dbt project called `met with days as ( {{ - dbt_core.date_spine( + dbt.date_spine( 'day', "to_date('01/01/2000','mm/dd/yyyy')", "to_date('01/01/2027','mm/dd/yyyy')" @@ -38,14 +71,45 @@ final as ( select * from final ``` + + + + + +```sql +-- filename: metricflow_time_spine.sql +-- BigQuery supports DATE() instead of TO_DATE(). Use this model if you're using BigQuery +{{config(materialized='table')}} +with days as ( + {{dbt_utils.date_spine( + 'day', + "DATE(2000,01,01)", + "DATE(2030,01,01)" + ) + }} +), + +final as ( + select cast(date_day as date) as date_day + from days +) + +select * +from final +``` + + + + + ```sql -- filename: metricflow_time_spine.sql -- BigQuery supports DATE() instead of TO_DATE(). Use this model if you're using BigQuery {{config(materialized='table')}} with days as ( - {{dbt_core.date_spine( + {{dbt.date_spine( 'day', "DATE(2000,01,01)", "DATE(2030,01,01)" @@ -61,4 +125,7 @@ final as ( select * from final ``` + + + You only need to include the `date_day` column in the table. MetricFlow can handle broader levels of detail, but it doesn't currently support finer grains. From e4a052fe6abe6455beefa37e18634e5f22b8eddb Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Thu, 12 Oct 2023 15:04:49 -0600 Subject: [PATCH 187/216] Remove duplicated line --- website/docs/docs/build/metricflow-time-spine.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/docs/build/metricflow-time-spine.md b/website/docs/docs/build/metricflow-time-spine.md index 7b67868cafd..997d85e38a8 100644 --- a/website/docs/docs/build/metricflow-time-spine.md +++ b/website/docs/docs/build/metricflow-time-spine.md @@ -55,7 +55,6 @@ select * from final with days as ( {{ - dbt.date_spine( dbt.date_spine( 'day', "to_date('01/01/2000','mm/dd/yyyy')", From ed2561f2256561d9cb5cc3ee431e1c64e2e7c586 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 17:50:58 -0400 Subject: [PATCH 188/216] Update website/docs/reference/resource-configs/store_failures_as.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/reference/resource-configs/store_failures_as.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/store_failures_as.md b/website/docs/reference/resource-configs/store_failures_as.md index 9c494af26a0..a9149360089 100644 --- a/website/docs/reference/resource-configs/store_failures_as.md +++ b/website/docs/reference/resource-configs/store_failures_as.md @@ -3,7 +3,7 @@ resource_types: [tests] id: "store_failures_as" --- -For the `test` resource type, `store_failures_as` is an optional config that specifies how test failures should be stored in the database. If [`store_failures`](/reference/resource-configs/store_failures) is configured, `store_failures_as` takes precedence. +For the `test` resource type, `store_failures_as` is an optional config that specifies how test failures should be stored in the database. If [`store_failures`](/reference/resource-configs/store_failures) is also configured, `store_failures_as` takes precedence. The three supported values are: From 1be478f33330d2ea7cc613af4ac594e0aea5e2b1 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Thu, 12 Oct 2023 16:09:27 -0700 Subject: [PATCH 189/216] Update website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- .../docs/docs/cloud/manage-access/set-up-databricks-oauth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md index 3edfb7f6adb..82401b0a7de 100644 --- a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md +++ b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md @@ -10,7 +10,7 @@ This guide describes a feature of the dbt Cloud Enterprise plan. If you’re int ::: -dbt Cloud supports developer OAuth ([OAuth for partner solutions](https://docs.databricks.com/en/integrations/manage-oauth.html)) with Databricks, providing an additional layer of security for dbt enterprise users. When Databricks OAuth is enabled for a dbt Cloud project, all dbt Cloud developers must authenticate with Databricks in order to use the dbt Cloud IDE. The project's deployment environments will still leverage the Databricks authentication method set at the environment level. +dbt Cloud supports developer OAuth ([OAuth for partner solutions](https://docs.databricks.com/en/integrations/manage-oauth.html)) with Databricks, providing an additional layer of security for dbt enterprise users. When you enable Databricks OAuth for a dbt Cloud project, all dbt Cloud developers must authenticate with Databricks in order to use the dbt Cloud IDE. The project's deployment environments will still leverage the Databricks authentication method set at the environment level. :::tip Beta Feature From aeebaafa8c7042041c723da5d43a4d44b7a32b2c Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Thu, 12 Oct 2023 16:09:34 -0700 Subject: [PATCH 190/216] Update website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- .../docs/docs/cloud/manage-access/set-up-databricks-oauth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md index 82401b0a7de..826451f3d79 100644 --- a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md +++ b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md @@ -16,7 +16,7 @@ dbt Cloud supports developer OAuth ([OAuth for partner solutions](https://docs.d Databricks OAuth support in dbt Cloud is a [beta feature](/docs/dbt-versions/product-lifecycles#dbt-cloud) and subject to change without notification. More updates to this feature coming soon. -Current constraints / limitations: +Current limitations: - Databricks OAuth applications are in public preview - The current experience requires the IDE to be restarted every hour (access tokens expire after 1 hour - [workaround](https://docs.databricks.com/en/integrations/manage-oauth.html#override-the-default-token-lifetime-policy-for-dbt-core-power-bi-or-tableau-desktop)) From 4564074012a3465977a35b7d6252b5645a2feda6 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Thu, 12 Oct 2023 16:10:52 -0700 Subject: [PATCH 191/216] Apply suggestions from code review Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- .../manage-access/set-up-databricks-oauth.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md index 826451f3d79..e6b68dd0987 100644 --- a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md +++ b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md @@ -17,7 +17,7 @@ dbt Cloud supports developer OAuth ([OAuth for partner solutions](https://docs.d Databricks OAuth support in dbt Cloud is a [beta feature](/docs/dbt-versions/product-lifecycles#dbt-cloud) and subject to change without notification. More updates to this feature coming soon. Current limitations: -- Databricks OAuth applications are in public preview +- Databrick's OAuth applications are in public preview - The current experience requires the IDE to be restarted every hour (access tokens expire after 1 hour - [workaround](https://docs.databricks.com/en/integrations/manage-oauth.html#override-the-default-token-lifetime-policy-for-dbt-core-power-bi-or-tableau-desktop)) ::: @@ -26,21 +26,21 @@ Current limitations: To get started, you will need to [add dbt as an OAuth application](https://docs.databricks.com/en/integrations/configure-oauth-dbt.html) with Databricks, in 2 steps: -- On your terminal, [authenticate to the Databricks Account API](https://docs.databricks.com/en/integrations/configure-oauth-dbt.html#authenticate-to-the-account-api) with the Databricks CLI. You authenticate via: +1. From your terminal, [authenticate to the Databricks Account API](https://docs.databricks.com/en/integrations/configure-oauth-dbt.html#authenticate-to-the-account-api) with the Databricks CLI. You authenticate using: - OAuth for users ([prerequisites](https://docs.databricks.com/en/dev-tools/auth.html#oauth-u2m-auth)) - Oauth for service principals ([prerequisites](https://docs.databricks.com/en/dev-tools/auth.html#oauth-m2m-auth)) - Username and password (must be account admin) -- In that terminal still, **add dbt Cloud as an OAuth application** using `curl` and the [OAuth Customm App Integration API](https://docs.databricks.com/api/account/customappintegration/create) +2. In the same terminal, **add dbt Cloud as an OAuth application** using `curl` and the [OAuth Custom App Integration API](https://docs.databricks.com/api/account/customappintegration/create) -For that second step, here is a sample snippet with username/password: +For the second step, you can use this example `curl` to authenticate with your username and password, replacing values as defined in the following table: -```BASH +```shell curl -u USERNAME:PASSWORD https://accounts.cloud.databricks.com/api/2.0/accounts/ACCOUNT_ID/oauth2/custom-app-integrations -d '{"redirect_urls": ["https://YOUR_ACCESS_URL", "https://YOUR_ACCESS_URL/complete/databricks"], "confidential": true, "name": "NAME", "scopes": ["sql", "offline_access"]}' ``` -Replacing the parameters with: +These parameters and descriptions will help you authenticate with your username and password: -| Config | Value | +| Parameter | Description | | ------ | ----- | | **USERNAME** | Your Databricks username (account admin level) | | **PASSWORD** | Your Databricks password (account admin level) | @@ -58,7 +58,7 @@ Now that you have an OAuth app set up in Databricks, you'll need to add the clie - on the left, select **Projects** under **Account Settings** - choose your project from the list - select **Connection** to edit the connection details - - add the `OAuth Client ID` and `OAuth Client Secret`` from the Databricks OAuth app under the **Optional Settings** section + - add the `OAuth Client ID` and `OAuth Client Secret` from the Databricks OAuth app under the **Optional Settings** section @@ -69,7 +69,7 @@ Once the Databricks connection via OAuth is set up for a dbt Cloud project, each - Click the gear icon at the top right and select **Profile settings**. - Select **Credentials**. - Choose your project from the list -- Select `OAuth` as the authentication method, save +- Select `OAuth` as the authentication method, and click **Save** - Finalize by clicking the **Connect Databricks Account** button From 0ca920d9622d1c2371fe05dcadd8477f3e000c88 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 12 Oct 2023 19:43:24 -0400 Subject: [PATCH 192/216] Adding docs generate syntax --- website/docs/reference/node-selection/syntax.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 10fdebd0f94..924347492a1 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -14,7 +14,7 @@ dbt's node selection syntax makes it possible to run only specific resources in | [compile](/reference/commands/compile) | `--select`, `--exclude`, `--selector`, `--inline` | | [freshness](/reference/commands/source) | `--select`, `--exclude`, `--selector` | | [build](/reference/commands/build) | `--select`, `--exclude`, `--selector`, `--resource-type`, `--defer` | -| [docs generate](/reference/commands/cmd-docs) | `--select` | +| [docs generate](/reference/commands/cmd-docs) | `--select`, `--exclude`, `--selector`, `--defer` | :::info Nodes and resources From 27c204450ec7b4b07ea29d5fa9676f1bc07cc37c Mon Sep 17 00:00:00 2001 From: "Leona B. Campbell" <3880403+runleonarun@users.noreply.github.com> Date: Thu, 12 Oct 2023 17:22:51 -0700 Subject: [PATCH 193/216] Update website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md --- .../docs/docs/cloud/manage-access/set-up-databricks-oauth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md index e6b68dd0987..679133b7844 100644 --- a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md +++ b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md @@ -48,7 +48,7 @@ These parameters and descriptions will help you authenticate with your username | **YOUR_ACCESS_URL** | The [appropriate Access URL](/docs/cloud/about-cloud/regions-ip-addresses) for your dbt Cloud account region and plan | | **NAME** | The integration name (i.e 'databricks-dbt-cloud') -The API response will include the `client_id` and `client_secret` required in the following step. At this time this is the only way to get the secret, the integration will need to be [deleted](https://docs.databricks.com/api/account/customappintegration/delete) and re-created if the secret is lost. +After running the `curl`, you'll get an API response that includes the `client_id` and `client_secret` required in the following section. At this time, this is the only way to retrieve the secret. If you lose the secret, then the integration needs to be [deleted](https://docs.databricks.com/api/account/customappintegration/delete) and re-created. ### Configure the Connection in dbt Cloud (dbt Cloud project admin) From f3d810aafde952533f0af2b1ba18cef51fd98967 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Thu, 12 Oct 2023 17:23:12 -0700 Subject: [PATCH 194/216] Fold in feedback --- .../docs/docs/collaborate/explore-projects.md | 93 ++++++++++--------- 1 file changed, 51 insertions(+), 42 deletions(-) diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index 6007db4dcd1..53c4ee3a9c0 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -38,7 +38,7 @@ Richer and more timely metadata will become available as dbt, the Discovery API, ## Explore your project's lineage graph {#project-lineage} -dbt Explorer provides a visualization of your project’s DAG that you can interact with. To access it, select **Overview** in the left sidebar and click the **Explore Lineage** button on the main (center) section of the page. +dbt Explorer provides a visualization of your project’s DAG that you can interact with. To access the project's full lineage graph, select **Overview** in the left sidebar and click the **Explore Lineage** button on the main (center) section of the page. If you don't see the project lineage graph immediately, click **Render Lineage**. It can take some time for the graph to render depending on the size of your project and your computer’s available memory. The graph of very large projects might not render so you can select a subset of nodes by using selectors, instead. @@ -65,7 +65,7 @@ To interact with the full lineage graph, you can: ## Search for resources {#search-resources} -With the search bar (on the upper left of the page or in a lineage graph), you can search with keywords or [node selection syntax](/reference/node-selection/syntax). The resources that match your search criteria will display as a lineage graph and a table in the main section of the page. +With the search bar (on the upper left corner of the page or in a lineage graph), you can search with keywords or by using [node selection syntax](/reference/node-selection/syntax). The resources that match your search criteria will display as a lineage graph and a table in the main section of the page. Select a node (single-click) in the lineage graph to highlight its relationship with your other search results and to display which project contains the resource's definition. When you choose a node (double-click) in the lineage graph or when you select a resource in the table, dbt Explorer displays the [resource's details page](#view-resource-details). @@ -103,7 +103,7 @@ You can use multiple selector methods in your search query with [set operators]( You can use keyword search to highlight results that are filtered by the selector search. For example, if you don't have a resource called `customers`, then `resource_type:metric customers` returns all the metrics in your project and highlights those that are related to the term `customers` in the name, in a column, tagged as customers, and so on. -When searching in this way, think of selectors as filters that you can use to narrow the search and keywords as a way to find matches from those filtered results. +When searching in this way, the selectors behave as filters that you can use to narrow the search and keywords as a way to find matches within those filtered results. @@ -125,7 +125,9 @@ To browse using a different view, you can choose one of these options from the * If models in the project are versioned, you can see which [version of the model](/docs/collaborate/govern/model-versions) is being applied — `prerelease`, `latest`, and `old` — in the title of the model’s details page and in the model list from the sidebar. ## View resource details {#view-resource-details} -You can view the definition and latest run results of any resource in your project. To find a resource and view its details, you can interact with the lineage graph, use search, or browse the catalog. The details (metadata) available to you depends on the resource’s type, its definition, and the [commands](/docs/deploy/job-commands) run within jobs in the production environment. +You can view the definition and latest run results of any resource in your project. To find a resource and view its details, you can interact with the lineage graph, use search, or browse the catalog. + +The details (metadata) available to you depends on the resource’s type, its definition, and the [commands](/docs/deploy/job-commands) that run within jobs in the production environment. @@ -135,57 +137,73 @@ You can view the definition and latest run results of any resource in your proje An example of the details you might get for a model: - Status bar (below the page title) — Information on the last time the model ran, whether the run was successful, how the data is materialized, number of rows, and the size of the model. -- **General** tab — The model’s lineage graph that you can interact with. The graph includes one parent node and one child node from the model. +- **General** tab includes: + - **Lineage** graph — The model’s lineage graph that you can interact with. The graph includes one parent node and one child node from the model. Click the Expand icon in the graph's upper right corner to view the model in full lineage graph mode. + - **Description** section — A [description of the model](/docs/collaborate/documentation#adding-descriptions-to-your-project). + - **Recent** section — Information on the last time the model ran, how long it ran for, whether the run was successful, the job ID, and the run ID. + - **Tests** section — [Tests](/docs/build/tests) for the model. + - **Details** section — Key properties like the model’s relation name (for example, how it’s represented and how you can query it in the data platform: `database.schema.identifier`); model governance attributes like access, group, and if contracted; and more. + - **Relationships** section — The nodes the model **Depends On**, is **Referenced by**, and (if applicable) is **Used by** for projects that have declared the models' project as a dependency. - **Code** tab — The source code and compiled code for the model. - **Columns** tab — The available columns in the model. This tab also shows tests results (if any) that you can select to view the test's details page. A :white_check_mark: denotes a passing test. -- **Description** section — A [description of the model](/docs/collaborate/documentation#adding-descriptions-to-your-project). -- **Recent** section — Information on the last time the model ran, how long it ran for, whether the run was successful, the job ID, and the run ID. -- **Tests** section — [Tests](/docs/build/tests) for the model. -- **Details** section — Key properties like the model’s relation name (for example, how it’s represented and how you can query it in the data platform: `database.schema.identifier`); model governance attributes like access, group, and if contracted; and more. -- **Relationships** section — The nodes the model **Depends On**, is **Referenced by**, and (if applicable) is **Used by** for projects that have declared the models' project as a dependency. + ### Example of exposure details An example of the details you might get for an exposure: - Status bar (below the page title) — Information on the last time the exposure was updated. -- **Status** section — The status on data freshness and data quality. -- **Lineage** section — The exposure’s lineage graph. -- **Description** section — A description of the exposure. -- **Details** section — Details like exposure type, maturity, owner information, and more. -- **Relationships** section — The nodes the exposure **Depends On**. +- **General** tab includes: + - **Status** section — The status on data freshness and data quality. + - **Lineage** graph — The exposure’s lineage graph. Click the Expand icon in the graph's upper right corner to view the exposure in full lineage graph mode. + - **Description** section — A description of the exposure. + - **Details** section — Details like exposure type, maturity, owner information, and more. + - **Relationships** section — The nodes the exposure **Depends On**. ### Example of test details An example of the details you might get for a test: - Status bar (below the page title) — Information on the last time the test ran, whether the test passed, test name, test target, and column name. -- **General** tab — The test’s lineage graph that you can interact with. The graph includes one parent node and one child node from the test resource. +- **General** tab includes: + - **Lineage** graph — The test’s lineage graph that you can interact with. The graph includes one parent node and one child node from the test resource. Click the Expand icon in the graph's upper right corner to view the test in full lineage graph mode. + - **Description** section — A description of the test. + - **Recent** section — Information on the last time the test ran, how long it ran for, whether the test passed, the job ID, and the run ID. + - **Details** section — Details like schema, severity, package, and more. + - **Relationships** section — The nodes the test **Depends On**. - **Code** tab — The source code and compiled code for the test. -- **Description** section — A description of the test. -- **Recent** section — Information on the last time the test ran, how long it ran for, whether the test passed, the job ID, and the run ID. -- **Details** section — Details like schema, severity, package, and more. -- **Relationships** section — The nodes the test **Depends On**. + ### Example of source details An example of the details you might get for each source table within a source collection: - Status bar (below the page title) — Information on the last time the source was updated and the number of tables the source uses. -- **General** tab — The source’s lineage graph that you can interact with. The graph includes one parent node and one child node from the source. +- **General** tab includes: + - **Lineage** graph — The source’s lineage graph that you can interact with. The graph includes one parent node and one child node from the source. Click the Expand icon in the graph's upper right corner to view the source in full lineage graph mode. + - **Description** section — A description of the source. + - **Source freshness** section — Information on whether refreshing the data was successful, the last time the source was loaded, the timestamp of when a run generated data, and the run ID. + - **Details** section — Details like database, schema, and more. + - **Relationships** section — A table that lists all the sources used with their freshness status, the timestamp of when freshness was last checked, and the timestamp of when the source was last loaded. - **Columns** tab — The available columns in the source. This tab also shows tests results (if any) that you can select to view the test's details page. A :white_check_mark: denotes a passing test. -- **Description** section — A description of the source. -- **Source freshness** section — Information on whether refreshing the data was successful, the last time the source was loaded, the timestamp of when a run generated data, and the run ID. -- **Details** section — Details like database, schema, and more. -- **Relationships** section — A table that lists all the sources used with their freshness status, the timestamp of when freshness was last checked, and the timestamp of when the source was last loaded. -## Lineage for cross-project +## About project-level lineage +You can also view all the different projects and public models in the account, where the public models are defined, and how they are used to gain a better understanding about your cross-project resources. + +When viewing the resource-level lineage graph for a given project that uses cross-project references, you can see cross-project relationships represented in the DAG. The iconography is slightly different depending on whether you're viewing the lineage of an upstream producer project or a downstream consumer project. + +When viewing an upstream (parent) project that produces public models that are imported by downstream (child) projects, public models will have a counter icon in their upper right corner that indicates the number of projects that declare the current project as a dependency. Selecting that model reveals the lineage to show the specific projects that are dependent on this model. Projects show up in this counter if they declare the parent project as a dependency in its `dependencies.yml` regardless of whether or not there's a direct `{{ ref() }}` against the public model. Selecting a project node from a public model opens the resource-level lineage graph for that project, which is subject to your permissions. + + + +When viewing a downstream (child) project that imports and refs public models from upstream (parent) projects, public models will show up in the lineage graph and display an icon on the graph edge that indicates what the relationship is to a model from another project. Hovering over this icon indicates the specific dbt Cloud project that produces that model. Double-clicking on a model from another project opens the resource-level lineage graph of the parent project, which is subject to your permissions. + -You can also view all the different projects and public models in the account, where the public models are defined, and how they are used to gain a better understanding about your cross-project resources. For more details about a decentralized data management architecture, refer to the [What is data mesh?](https://www.getdbt.com/blog/what-is-data-mesh-the-definition-and-importance-of-data-mesh) blog. + -### Explore the project level lineage graph +### Explore the project-level lineage graph -For cross-project collaboration, you can interact with the DAG in all the same ways as described in [Explore the project full lineage](#project-lineage) but you can also interact with it at the project level and view the details. +For cross-project collaboration, you can interact with the DAG in all the same ways as described in [Explore your project's lineage](#project-lineage) but you can also interact with it at the project level and view the details. To get a list view of all the projects, select the account name at the top of the **Explore** page near the navigation bar. This view includes a public model list, project list, and a search bar for project searches. You can also view the project-level lineage graph by clicking the Lineage view icon in the page's upper right corner. @@ -210,16 +228,7 @@ When you select a project node in the graph, a project details panel opens on th - -### Understanding cross project lineage - -When viewing the resource-level lineage graph for a given project that uses cross-project references, you will see cross-project relationships represented in the DAG. The iconography will be slighly different depending on whether you're viewing the lineage of an upstream, producer project or a downstream, consumer project. - -When viewing an upstream project that produces public models that are imported by downstream projects, public models will have a counter icon in their upper right hand corner that indicates the number of projects that declare the current project as a dependency. Clicking on that model will expand the lineage to show the specific projects that are dependent on this model. Projects will show up in this counter if they declare the parent project as a dependency in its `dependencies.yml`, regardless of whether or not there is a direct `{{ ref() }}` against the public model. Clicking on a project node from a public model will open the resource-level lineage graph of that project, subject to your permissions. - - - -When viewing an downstream project that imports and refs public models from an upstream projects, public models will show up in the lineage graph, and there will be an icon on the graph edge that indicates the relationship is to a model from another project. Hovering over this icon indicates the specific dbt Cloud project that produces that model. Double clicking on a model from another project will open the resource-level lineage graph of the parent project, subject to your permissions. - - - +## Related content +- [What is data mesh?](https://www.getdbt.com/blog/what-is-data-mesh-the-definition-and-importance-of-data-mesh) blog +- [About model governance](/docs/collaborate/govern/about-model-governance) +- [dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl) \ No newline at end of file From e29f8ba84bc2cd46e1a6f517f72eb9f741fa007b Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Thu, 12 Oct 2023 17:30:08 -0700 Subject: [PATCH 195/216] Update Related content section --- website/docs/docs/collaborate/explore-projects.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index 53c4ee3a9c0..790e246a2df 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -229,6 +229,6 @@ When you select a project node in the graph, a project details panel opens on th ## Related content -- [What is data mesh?](https://www.getdbt.com/blog/what-is-data-mesh-the-definition-and-importance-of-data-mesh) blog +- [Enterprise permissions](/docs/cloud/manage-access/enterprise-permissions) - [About model governance](/docs/collaborate/govern/about-model-governance) -- [dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl) \ No newline at end of file +- [What is data mesh?](https://www.getdbt.com/blog/what-is-data-mesh-the-definition-and-importance-of-data-mesh) blog \ No newline at end of file From c0fd4c783ed5a397fdcb8dfd9a1b68bedfe0ed3c Mon Sep 17 00:00:00 2001 From: Jordan Stein Date: Thu, 12 Oct 2023 19:13:03 -0700 Subject: [PATCH 196/216] add docs for cumulative metrics limitations --- website/docs/docs/build/cumulative-metrics.md | 7 +++++++ website/docs/docs/build/dimensions.md | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index 3104fd7578a..b4b491b1cf8 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -36,6 +36,13 @@ metrics: ``` +## Cumulative metrics limiations +Cumulative metrics are currently under active development and have the following limitations: + +1. Cumulative metrics can only be queried using [metric_time](../website/docs/docs/build/dimensions.md) dimension. If you don't use metric_time in the query the cumulative metric will return incorrect results because it won't do the time spine join. This means you cannot refrence time dimensions other then the metric_time in the query. +2. If you do use metric_time in the query filter, but you do NOT use start_time and end_time, cumulative metrics will left-censor the input data. For example, if you query a cumulative metric with a 7 day window with the filter {{ TimeDimension('metric_time') }} BETWEEN '2023-08-15' AND '2023-08-30' the values for 2023-08-15 through 2023-08-20 will return results with missing data, because we apply the metric_time filter to the aggregation input. To avoid this, you must use start_time and end_time in the query filter. + + ## Cumulative metrics example diff --git a/website/docs/docs/build/dimensions.md b/website/docs/docs/build/dimensions.md index 49ae9045021..c82a9f8ced4 100644 --- a/website/docs/docs/build/dimensions.md +++ b/website/docs/docs/build/dimensions.md @@ -102,7 +102,7 @@ dimensions: To use BigQuery as your data platform, time dimensions columns need to be in the datetime data type. If they are stored in another type, you can cast them to datetime using the `expr` property. Time dimensions are used to group metrics by different levels of time, such as day, week, month, quarter, and year. MetricFlow supports these granularities, which can be specified using the `time_granularity` parameter. ::: -Time has additional parameters specified under the `type_params` section. When you query one or more metrics in MetricFlow using the CLI, the default time dimension for a single metric is the primary time dimension, which you can refer to as `metric_time` or use the dimensions' name. +Time has additional parameters specified under the `type_params` section. When you query one or more metrics in MetricFlow using the CLI, the default time dimension for a single metric is the aggregation time dimension, which you can refer to as `metric_time` or use the dimensions' name. You can use multiple time groups in separate metrics. For example, the `users_created` metric uses `created_at`, and the `users_deleted` metric uses `deleted_at`: From ecbed3da9c685118e5dd5bc5d36b1f8257b323a2 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 13 Oct 2023 10:30:51 +0100 Subject: [PATCH 197/216] Update website/docs/docs/build/cumulative-metrics.md --- website/docs/docs/build/cumulative-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index b4b491b1cf8..22f2034ee9a 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -36,7 +36,7 @@ metrics: ``` -## Cumulative metrics limiations +## Limitations Cumulative metrics are currently under active development and have the following limitations: 1. Cumulative metrics can only be queried using [metric_time](../website/docs/docs/build/dimensions.md) dimension. If you don't use metric_time in the query the cumulative metric will return incorrect results because it won't do the time spine join. This means you cannot refrence time dimensions other then the metric_time in the query. From cd2117f9bba61589e301e7dbee7ccfa428fab33b Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 13 Oct 2023 10:41:21 +0100 Subject: [PATCH 198/216] Update website/docs/docs/build/cumulative-metrics.md --- website/docs/docs/build/cumulative-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index 22f2034ee9a..375de351682 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -39,7 +39,7 @@ metrics: ## Limitations Cumulative metrics are currently under active development and have the following limitations: -1. Cumulative metrics can only be queried using [metric_time](../website/docs/docs/build/dimensions.md) dimension. If you don't use metric_time in the query the cumulative metric will return incorrect results because it won't do the time spine join. This means you cannot refrence time dimensions other then the metric_time in the query. +1. You can only use the [`metric_time` dimension](/docs/docs/build/dimensions#time) to check cumulative metrics. If you don't use `metric_time` in the query, the cumulative metric will return incorrect results because it won't perform the time spine join. This means you cannot reference time dimensions other than the `metric_time` in the query. 2. If you do use metric_time in the query filter, but you do NOT use start_time and end_time, cumulative metrics will left-censor the input data. For example, if you query a cumulative metric with a 7 day window with the filter {{ TimeDimension('metric_time') }} BETWEEN '2023-08-15' AND '2023-08-30' the values for 2023-08-15 through 2023-08-20 will return results with missing data, because we apply the metric_time filter to the aggregation input. To avoid this, you must use start_time and end_time in the query filter. From b0d62aa1f9d5743e5d19768f314c45ab40b4e85e Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 13 Oct 2023 10:46:00 +0100 Subject: [PATCH 199/216] Update website/docs/docs/build/cumulative-metrics.md --- website/docs/docs/build/cumulative-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index 375de351682..d9736ec3695 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -40,7 +40,7 @@ metrics: Cumulative metrics are currently under active development and have the following limitations: 1. You can only use the [`metric_time` dimension](/docs/docs/build/dimensions#time) to check cumulative metrics. If you don't use `metric_time` in the query, the cumulative metric will return incorrect results because it won't perform the time spine join. This means you cannot reference time dimensions other than the `metric_time` in the query. -2. If you do use metric_time in the query filter, but you do NOT use start_time and end_time, cumulative metrics will left-censor the input data. For example, if you query a cumulative metric with a 7 day window with the filter {{ TimeDimension('metric_time') }} BETWEEN '2023-08-15' AND '2023-08-30' the values for 2023-08-15 through 2023-08-20 will return results with missing data, because we apply the metric_time filter to the aggregation input. To avoid this, you must use start_time and end_time in the query filter. +2. If you use `metric_time` in your query filter but don't include "start_time" and "end_time," cumulative metrics will left-censor the input data. For example, if you query a cumulative metric with a 7-day window with the filter `{{ TimeDimension('metric_time') }} BETWEEN '2023-08-15' AND '2023-08-30' `, the values for `2023-08-15` to `2023-08-20` return missing or incomplete data. This is because we apply the `metric_time` filter to the aggregation input. To avoid this, you must use `start_time` and `end_time` in the query filter. ## Cumulative metrics example From a6a1d67ded5a7f89c7cc4385ac47eb9f6128bdf8 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 13 Oct 2023 10:50:26 +0100 Subject: [PATCH 200/216] Update website/snippets/_sl-partner-links.md Co-authored-by: Devon Fulcher --- website/snippets/_sl-partner-links.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_sl-partner-links.md b/website/snippets/_sl-partner-links.md index 2f62974d810..c78479c8111 100644 --- a/website/snippets/_sl-partner-links.md +++ b/website/snippets/_sl-partner-links.md @@ -17,7 +17,7 @@ Google Sheets integration coming soon. 1. **Tools that allows you to write SQL**
To connect to tools that allow you to write SQL, they must meet one of the two criteria: - Supports a generic JDBC driver option (such as DataGrip) or - - Supports Dremio and uses ArrowFlightSQL driver version 12.0.0 or higher. + - Uses Arrow Flight SQL JDBC driver version 12.0.0 or higher. Before you connect to these tools, you'll need to first [set up the dbt Semantic Layer](/docs/use-dbt-semantic-layer/setup-sl) and [generate a service token](/docs/dbt-cloud-apis/service-tokens) to create a Semantic Layer Only and Metadata Only service token. From 9330136658e606c5a3f36f64c43bd1f7f9c1b6ab Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 13 Oct 2023 10:55:55 +0100 Subject: [PATCH 201/216] Update website/docs/docs/build/cumulative-metrics.md --- website/docs/docs/build/cumulative-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index d9736ec3695..708045c1f3e 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -39,7 +39,7 @@ metrics: ## Limitations Cumulative metrics are currently under active development and have the following limitations: -1. You can only use the [`metric_time` dimension](/docs/docs/build/dimensions#time) to check cumulative metrics. If you don't use `metric_time` in the query, the cumulative metric will return incorrect results because it won't perform the time spine join. This means you cannot reference time dimensions other than the `metric_time` in the query. +1. You can only use the [`metric_time` dimension](/docs/build/dimensions#time) to check cumulative metrics. If you don't use `metric_time` in the query, the cumulative metric will return incorrect results because it won't perform the time spine join. This means you cannot reference time dimensions other than the `metric_time` in the query. 2. If you use `metric_time` in your query filter but don't include "start_time" and "end_time," cumulative metrics will left-censor the input data. For example, if you query a cumulative metric with a 7-day window with the filter `{{ TimeDimension('metric_time') }} BETWEEN '2023-08-15' AND '2023-08-30' `, the values for `2023-08-15` to `2023-08-20` return missing or incomplete data. This is because we apply the `metric_time` filter to the aggregation input. To avoid this, you must use `start_time` and `end_time` in the query filter. From 12d3e7ecb9979e52a8eca0a9aed2906d621bac5d Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 13 Oct 2023 11:00:01 +0100 Subject: [PATCH 202/216] Update avail-sl-integrations.md --- .../docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md b/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md index ea5833d586b..aa464aced4a 100644 --- a/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md +++ b/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md @@ -26,11 +26,11 @@ import AvailIntegrations from '/snippets/_sl-partner-links.md'; ## Custom integration -- You can create custom integrations using different languages and tools. We support connecting with JDBC, ADBC, and a GraphQL APIs. For more info, check out [our examples on GitHub](https://github.com/dbt-labs/example-semantic-layer-clients/). +- You can create custom integrations using different languages and tools. We support connecting with JDBC, ADBC, and GraphQL APIs. For more info, check out [our examples on GitHub](https://github.com/dbt-labs/example-semantic-layer-clients/). - You can also connect to tools that allow you to write SQL. These tools must meet one of the two criteria: - Supports a generic JDBC driver option (such as DataGrip) or - - Supports Dremio and uses ArrowFlightSQL driver version 12.0.0 or higher. + - Uses Arrow Flight SQL JDBC driver version 12.0.0 or higher. ## Related docs From ecad55689d9cf5e4c7096bfb6356940fcd715c00 Mon Sep 17 00:00:00 2001 From: Grace Goheen Date: Fri, 13 Oct 2023 09:20:06 -0600 Subject: [PATCH 203/216] slight rephrasing on 1.7 for clarity --- website/docs/guides/migration/versions/00-upgrading-to-v1.7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index a85dd0e69e0..9bb661abe16 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -28,7 +28,7 @@ This is a relatively small behavior change, but worth calling out in case you no ## New and changed features and functionality -- [`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. +- [`dbt docs generate`](/reference/commands/cmd-docs) now supports `--select` to generate catalog metadata 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. ### MetricFlow enhancements From 8048450156d0acff0b9929eb427e2e0798f8a184 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Fri, 13 Oct 2023 09:18:36 -0700 Subject: [PATCH 204/216] add release note --- .../03-Oct-2023/explorer-public-preview-rn.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 website/docs/docs/dbt-versions/release-notes/03-Oct-2023/explorer-public-preview-rn.md diff --git a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/explorer-public-preview-rn.md b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/explorer-public-preview-rn.md new file mode 100644 index 00000000000..278eeadf492 --- /dev/null +++ b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/explorer-public-preview-rn.md @@ -0,0 +1,13 @@ +--- +title: "New: dbt Explorer Public Preview" +description: "October 2023: dbt Explorer is now available in Public Preview. You can use it to understand, improve, and leverage your dbt projects." +sidebar_label: "New: dbt Explorer Public Preview" +tags: [Oct-2023, Explorer] +date: 2023-10-13 +sidebar_position: 07 +--- + +On Oct 16, 2023, a Public Preview of dbt Explorer will become available to dbt Cloud customers. With dbt Explorer, you can view your project's resources (such as models, tests, and metrics) and their lineage — including interactive DAGs — to gain a better understanding of its latest production state. Navigate and manage your projects within dbt Cloud to help you and other data developers, analysts, and consumers discover and leverage your dbt resources. + +For details, refer to [Explore your dbt projects](/docs/collaborate/explore-projects). + From 728f3f52deceb1f6667fbbdf4a8d271e575210c1 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Fri, 13 Oct 2023 11:55:12 -0600 Subject: [PATCH 205/216] EOL dbt Core v1.3 (#4280) --- website/snippets/core-versions-table.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/core-versions-table.md b/website/snippets/core-versions-table.md index 431e1f08b4c..b08c23c84c5 100644 --- a/website/snippets/core-versions-table.md +++ b/website/snippets/core-versions-table.md @@ -6,7 +6,7 @@ | [**v1.6**](/guides/migration/versions/upgrading-to-v1.6) | Jul 31, 2023 | Active | Jul 30, 2024 | | [**v1.5**](/guides/migration/versions/upgrading-to-v1.5) | Apr 27, 2023 | Critical | Apr 27, 2024 | | [**v1.4**](/guides/migration/versions/upgrading-to-v1.4) | Jan 25, 2023 | Critical | Jan 25, 2024 | -| [**v1.3**](/guides/migration/versions/upgrading-to-v1.3) | Oct 12, 2022 | Critical | Oct 12, 2023 | +| [**v1.3**](/guides/migration/versions/upgrading-to-v1.3) | Oct 12, 2022 | End of Life* ⚠️ | Oct 12, 2023 | | [**v1.2**](/guides/migration/versions/upgrading-to-v1.2) | Jul 26, 2022 | End of Life* ⚠️ | Jul 26, 2023 | | [**v1.1**](/guides/migration/versions/upgrading-to-v1.1) ⚠️ | Apr 28, 2022 | Deprecated ⛔️ | Deprecated ⛔️ | | [**v1.0**](/guides/migration/versions/upgrading-to-v1.0) ⚠️ | Dec 3, 2021 | Deprecated ⛔️ | Deprecated ⛔️ | From 61aafb1cfa8cdec1a49cff025a39e0e82cf0d11f Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Fri, 13 Oct 2023 11:02:52 -0700 Subject: [PATCH 206/216] Update website/docs/docs/collaborate/explore-projects.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/docs/collaborate/explore-projects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index 790e246a2df..669e767a5f9 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -70,7 +70,7 @@ With the search bar (on the upper left corner of the page or in a lineage graph) Select a node (single-click) in the lineage graph to highlight its relationship with your other search results and to display which project contains the resource's definition. When you choose a node (double-click) in the lineage graph or when you select a resource in the table, dbt Explorer displays the [resource's details page](#view-resource-details). ### Search with keywords -When searching with keywords, dbt Explorer searches through your resources' metadata (such as resource type, resource name, column name, source name, tags, schema, database, version, alias/identifier, and package name) and returns any matches. +When searching with keywords, dbt Explorer searches through your resource metadata (such as resource type, resource name, column name, source name, tags, schema, database, version, alias/identifier, and package name) and returns any matches. ### Search with selector methods From 4688823afbaeb91de6eb6af033f11f95a677590f Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Fri, 13 Oct 2023 11:52:28 -0700 Subject: [PATCH 207/216] Fast-follows for improvements to CI jobs --- website/docs/docs/deploy/ci-jobs.md | 13 +++++++------ website/docs/docs/deploy/continuous-integration.md | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/website/docs/docs/deploy/ci-jobs.md b/website/docs/docs/deploy/ci-jobs.md index 30a858c64e7..e0967ced4aa 100644 --- a/website/docs/docs/deploy/ci-jobs.md +++ b/website/docs/docs/deploy/ci-jobs.md @@ -27,6 +27,7 @@ To make CI job creation easier, many options on the **CI job** page are set to d - **Job Name** — Specify the name for this CI job. - **Environment** — By default, it’s set to the environment you created the CI job from. - **Triggered by pull requests** — By default, it’s enabled. Every time a developer opens up a pull request or pushes a commit to an existing pull request, this job will get triggered to run. + - **Run on Draft Pull Request** — Enable this option if you want to also trigger the job to run every time a developer opens up a draft pull request or pushes a commit to that draft pull request. 3. Options in the **Execution Settings** section: - **Commands** — By default, it includes the `dbt build --select state:modified+` command. This informs dbt Cloud to build only new or changed models and their downstream dependents. Importantly, state comparison can only happen when there is a deferred environment selected to compare state to. Click **Add command** to add more [commands](/docs/deploy/job-commands) that you want to be invoked when this job runs. @@ -62,13 +63,13 @@ If you're not using dbt Cloud’s native Git integration with [GitHub](/docs/cl 1. Set up a CI job with the [Create Job](/dbt-cloud/api-v2#/operations/Create%20Job) API endpoint using `"job_type": ci` or from the [dbt Cloud UI](#set-up-ci-jobs). -1. Call the [Trigger Job Run](/dbt-cloud/api-v2#/operations/Trigger%20Job%20Run) API endpoint to trigger the CI job. Provide the pull request (PR) ID to the payload using one of these fields, even if you're using a different Git provider (like Bitbucket): +1. Call the [Trigger Job Run](/dbt-cloud/api-v2#/operations/Trigger%20Job%20Run) API endpoint to trigger the CI job. You must include these fields to the payload: + - Provide the pull request (PR) ID with one of these fields, even if you're using a different Git provider (like Bitbucket). This can make your code less human-readable but it will _not_ affect dbt functionality. - - `github_pull_request_id` - - `gitlab_merge_request_id` - - `azure_devops_pull_request_id`  - - This can make your code less human-readable but it will _not_ affect dbt functionality. + - `github_pull_request_id` + - `gitlab_merge_request_id` + - `azure_devops_pull_request_id`  + - Provide the `git_sha` or `git_branch` to target the correct branch to run the job against. ## Example pull requests diff --git a/website/docs/docs/deploy/continuous-integration.md b/website/docs/docs/deploy/continuous-integration.md index cc856f97f22..0f87965aada 100644 --- a/website/docs/docs/deploy/continuous-integration.md +++ b/website/docs/docs/deploy/continuous-integration.md @@ -16,7 +16,7 @@ Using CI helps: ## How CI works -When you [set up CI jobs](/docs/deploy/ci-jobs#set-up-ci-jobs), dbt Cloud listens for webhooks from your Git provider indicating that a new PR has been opened or updated with new commits. When dbt Cloud receives one of these webhooks, it enqueues a new run of the CI job. If you want CI checks to run on each new commit, you need to mark your PR as **Ready for review** in your Git provider — draft PRs _don't_ trigger CI jobs. +When you [set up CI jobs](/docs/deploy/ci-jobs#set-up-ci-jobs), dbt Cloud listens for webhooks from your Git provider indicating that a new PR has been opened or updated with new commits. When dbt Cloud receives one of these webhooks, it enqueues a new run of the CI job. dbt Cloud builds and tests the models affected by the code change in a temporary schema, unique to the PR. This process ensures that the code builds without error and that it matches the expectations as defined by the project's dbt tests. The unique schema name follows the naming convention `dbt_cloud_pr__` (for example, `dbt_cloud_pr_1862_1704`) and can be found in the run details for the given run, as shown in the following image: From 963f9f41c36a1314ab29c3745f6ca7ea4dea010d Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Fri, 13 Oct 2023 12:15:51 -0700 Subject: [PATCH 208/216] Update website/docs/docs/deploy/ci-jobs.md Co-authored-by: Katia Nartovich <56835998+knartovich@users.noreply.github.com> --- website/docs/docs/deploy/ci-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/ci-jobs.md b/website/docs/docs/deploy/ci-jobs.md index e0967ced4aa..d10bc780fc2 100644 --- a/website/docs/docs/deploy/ci-jobs.md +++ b/website/docs/docs/deploy/ci-jobs.md @@ -69,7 +69,7 @@ If you're not using dbt Cloud’s native Git integration with [GitHub](/docs/cl - `github_pull_request_id` - `gitlab_merge_request_id` - `azure_devops_pull_request_id`  - - Provide the `git_sha` or `git_branch` to target the correct branch to run the job against. + - Provide the `git_sha` or `git_branch` to target the correct commit or branch to run the job against. ## Example pull requests From 14edbd7c84b7c8b54a9ba9cc51e3a292e57ee4ad Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Fri, 13 Oct 2023 14:04:29 -0700 Subject: [PATCH 209/216] Delete .github/workflows/repo-sync.yml Removing since this is for the private repo not the public repo --- .github/workflows/repo-sync.yml | 111 -------------------------------- 1 file changed, 111 deletions(-) delete mode 100644 .github/workflows/repo-sync.yml diff --git a/.github/workflows/repo-sync.yml b/.github/workflows/repo-sync.yml deleted file mode 100644 index 8f2320217b2..00000000000 --- a/.github/workflows/repo-sync.yml +++ /dev/null @@ -1,111 +0,0 @@ -name: Repo Sync - -# **What it does**: Syncs docs.getdbt.com public repo into the docs private repo -# This GitHub Actions workflow keeps the `current` branch of those two repos in sync. -# **Why we have it**: To keep the open-source repository up-to-date -# while still having an internal repository for sensitive work. -# For more details, see https://github.com/repo-sync/repo-sync#how-it-works - -on: - schedule: - - cron: '0 6,12,18 * * *' # Run at 6:00 AM, 12:00 PM, and 6:00 PM - -jobs: - repo-sync: - permissions: - contents: write - pull-requests: write - name: Repo Sync - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - # Use the INTERMEDIATE_BRANCH as the checkout reference - ref: ${{ secrets.INTERMEDIATE_BRANCH }} - token: ${{ secrets.GITHUB_TOKEN }} - # Fetch all history for all branches and tags - fetch-depth: 0 - - # Sync the source repo to the destination branch using repo-sync/github-sync - - uses: repo-sync/github-sync@v2 - name: Sync repo to branch - with: - # Source repository to sync from - source_repo: ${{ secrets.SOURCE_REPO }} - # Source branch to sync from - source_branch: current - # Destination branch to sync to - destination_branch: ${{ secrets.INTERMEDIATE_BRANCH }} - github_token: ${{ secrets.WORKFLOW_TOKEN }} - - - name: Ship pull request - uses: actions/github-script@v6 - with: - github-token: ${{ secrets.WORKFLOW_TOKEN }} - result-encoding: string - script: | - const {owner, repo} = context.repo; - const head = '${{ secrets.INTERMEDIATE_BRANCH }}'; - const base = 'current' - - async function closePullRequest(prNumber) { - console.log('closing PR', prNumber) - await github.rest.pulls.update({ - owner, - repo, - pull_number: prNumber, - state: 'closed' - }); - console.log('closed PR', prNumber) - } - - console.log('Creating new PR') - let pull, pull_number - try { - const response = await github.rest.pulls.create({ - owner, - repo, - head, - base, - title: 'REPO SYNC - Public to Private', - body: 'This is an automated pull request to sync changes between the public and private repos.', - }); - pull = response.data - pull_number = pull.number - console.log('Created pull request successfully', pull.html_url) - - } catch (err) { - // Don't error/alert if there's no commits to sync - if (err.message?.includes('No commits')) { - console.log(err.message) - return - } - throw err - } - - const { data: prFiles } = await github.rest.pulls.listFiles({ owner, repo, pull_number }) - if (prFiles.length) { - console.log(prFiles.length, 'files have changed') - } else { - console.log('No files changed, closing') - await closePullRequest(pull_number) - return - } - - console.log('Checking for merge conflicts') - if (pull.mergeable_state === 'dirty') { - console.log('Pull request has a conflict', pull.html_url) - await closePullRequest(pull_number) - throw new Error('PR has a conflict, please resolve manually') - } - console.log('No detected merge conflicts') - - - console.log('Merging the PR') - await github.rest.pulls.merge({ - owner, - repo, - pull_number, - merge_method: 'merge', - }) - console.log('Merged the PR successfully') From c904e75b6220377255ebc17c2318394448a30469 Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Fri, 13 Oct 2023 14:41:29 -0700 Subject: [PATCH 210/216] Update website/snippets/_microsoft-adapters-soon.md fold in feedback from Product Marketing --- website/snippets/_microsoft-adapters-soon.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_microsoft-adapters-soon.md b/website/snippets/_microsoft-adapters-soon.md index a8d4a3da651..c3f30ef0939 100644 --- a/website/snippets/_microsoft-adapters-soon.md +++ b/website/snippets/_microsoft-adapters-soon.md @@ -1,3 +1,3 @@ :::tip Coming soon -dbt Cloud support for the Microsoft Fabric and Microsoft Synapse adapters is coming soon! +dbt Cloud support for the Microsoft Fabric and Azure Synapse Analytics adapters is coming soon! ::: \ No newline at end of file From 82bc1df22f00dc2f53e174b5608365be901ff45b Mon Sep 17 00:00:00 2001 From: "Leona B. Campbell" <3880403+runleonarun@users.noreply.github.com> Date: Fri, 13 Oct 2023 16:28:25 -0700 Subject: [PATCH 211/216] Adding configurable delimiters (#4265) Closes #4126 Closes #4273 ## What are you changing in this pull request and why? * Adding delimiter to https://docs.getdbt.com/reference/seed-configs * Adding new https://docs.getdbt.com/reference/resource-configs/delimiter ## Checklist - [ ] Review the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) and [About versioning](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/single-sourcing-content.md#adding-a-new-version) so my content adheres to these guidelines. - [ ] Add a checklist item for anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch." Adding new pages (delete if not applicable): - [ ] Add page to `website/sidebars.js` - [ ] Provide a unique filename for the new page Removing or renaming existing pages (delete if not applicable): - [ ] Remove page from `website/sidebars.js` - [ ] Add an entry `website/static/_redirects` - [ ] [Ran link testing](https://github.com/dbt-labs/docs.getdbt.com#running-the-cypress-tests-locally) to update the links that point to the deleted page --------- Co-authored-by: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- .../versions/00-upgrading-to-v1.7.md | 4 +- .../reference/resource-configs/delimiter.md | 126 ++++++++++++++++++ website/docs/reference/seed-configs.md | 2 + website/sidebars.js | 1 + 4 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 website/docs/reference/resource-configs/delimiter.md diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index a85dd0e69e0..083fe5a4fec 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -33,7 +33,7 @@ This is a relatively small behavior change, but worth calling out in case you no ### MetricFlow enhancements -- Automatically create metrics on measures with `create_metric: true`. +- Automatically create metrics on measures with [`create_metric: true`](/docs/build/semantic-models). - 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. @@ -59,6 +59,6 @@ dbt Core v1.5 introduced model governance which we're continuing to refine. v1. ### Quick hits With these quick hits, you can now: -- Configure a `delimiter` for a seed file. +- Configure a [`delimiter`](/reference/resource-configs/delimiter) for a seed file. - Use packages with the same git repo and unique subdirectory. - Access the `date_spine` macro directly from dbt-core (moved over from dbt-utils). diff --git a/website/docs/reference/resource-configs/delimiter.md b/website/docs/reference/resource-configs/delimiter.md new file mode 100644 index 00000000000..58d6ba8344a --- /dev/null +++ b/website/docs/reference/resource-configs/delimiter.md @@ -0,0 +1,126 @@ +--- +resource_types: [seeds] +datatype: +default_value: "," +--- + +## Definition + +You can use this optional seed configuration to customize how you separate values in a [seed](/docs/build/seeds) by providing the one-character string. + +* The delimiter defaults to a comma when not specified. +* Explicitly set the `delimiter` configuration value if you want seed files to use a different delimiter, such as "|" or ";". + +:::info New in 1.7! + +Delimiter is new functionality available beginning with dbt Core v1.7. + +::: + + +## Usage + +Specify a delimiter in your `dbt_project.yml` file to customize the global separator for all seed values: + + + +```yml +seeds: + : + +delimiter: "|" # default project delimiter for seeds will be "|" + : + +delimiter: "," # delimiter for seeds in seed_subdirectory will be "," +``` + + + + +Or use a custom delimiter to override the values for a specific seed: + + + +```yml +version: 2 + +seeds: + - name: + config: + delimiter: "|" +``` + + + +## Examples +For a project with: + +* `name: jaffle_shop` in the `dbt_project.yml` file +* `seed-paths: ["seeds"]` in the `dbt_project.yml` file + +### Use a custom delimiter to override global values + +You can set a default behavior for all seeds with an exception for one seed, `seed_a`, which uses a comma: + + + +```yml +seeds: + jaffle_shop: + +delimiter: "|" # default delimiter for seeds in jaffle_shop project will be "|" + seed_a: + +delimiter: "," # delimiter for seed_a will be "," +``` + + + +Your corresponding seed files would be formatted like this: + + + +```text +col_a|col_b|col_c +1|2|3 +4|5|6 +... +``` + + + + + +```text +name,id +luna,1 +doug,2 +... +``` + + + +Or you can configure custom behavior for one seed. The `country_codes` uses the ";" delimiter: + + + +```yml +version: 2 + +seeds: + - name: country_codes + config: + delimiter: ";" +``` + + + +The `country_codes` seed file would be formatted like this: + + + +```text +country_code;country_name +US;United States +CA;Canada +GB;United Kingdom +... +``` + + diff --git a/website/docs/reference/seed-configs.md b/website/docs/reference/seed-configs.md index d74f414cbfe..429aa9444ae 100644 --- a/website/docs/reference/seed-configs.md +++ b/website/docs/reference/seed-configs.md @@ -23,6 +23,7 @@ seeds: [](/reference/resource-configs/resource-path): [+](/reference/resource-configs/plus-prefix)[quote_columns](/reference/resource-configs/quote_columns): true | false [+](/reference/resource-configs/plus-prefix)[column_types](/reference/resource-configs/column_types): {column_name: datatype} + [+](/reference/resource-configs/plus-prefix)[delimiter](/reference/resource-configs/delimiter): ``` @@ -43,6 +44,7 @@ seeds: config: [quote_columns](/reference/resource-configs/quote_columns): true | false [column_types](/reference/resource-configs/column_types): {column_name: datatype} + [delimiter](/reference/resource-configs/grants): ``` diff --git a/website/sidebars.js b/website/sidebars.js index 6bd82610367..2ab370b76e9 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -694,6 +694,7 @@ const sidebarSettings = { "reference/seed-properties", "reference/seed-configs", "reference/resource-configs/column_types", + "reference/resource-configs/delimiter", "reference/resource-configs/quote_columns", ], }, From 2d84b02907da11cfe71d5c2ac6c4d4d2de06cc41 Mon Sep 17 00:00:00 2001 From: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> Date: Fri, 13 Oct 2023 19:55:21 -0600 Subject: [PATCH 212/216] Update website/docs/guides/migration/versions/00-upgrading-to-v1.7.md Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- website/docs/guides/migration/versions/00-upgrading-to-v1.7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index 9bb661abe16..8a75934c5ff 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -28,7 +28,7 @@ This is a relatively small behavior change, but worth calling out in case you no ## New and changed features and functionality -- [`dbt docs generate`](/reference/commands/cmd-docs) now supports `--select` to generate catalog metadata for a subset of your project. Currently available for Snowflake and Postgres only, but other adapters are coming soon. +- [`dbt docs generate`](/reference/commands/cmd-docs) now supports `--select` to generate [catalog metadata](/reference/artifacts/catalog-json) 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. ### MetricFlow enhancements From 645b00a5068a31e20f1fa1de17df25e1b0ce23b8 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Mon, 16 Oct 2023 09:59:23 -0400 Subject: [PATCH 213/216] Empty-Commit From a8f04b6a437854064b608188cdeb4b7874e7f83a Mon Sep 17 00:00:00 2001 From: Cameron Afzal Date: Mon, 16 Oct 2023 07:33:06 -0700 Subject: [PATCH 214/216] Change Explorer release date Change Explorer release date --- website/docs/docs/collaborate/explore-projects.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index 669e767a5f9..683ce754b8a 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -8,7 +8,7 @@ With dbt Explorer, you can view your project's [resources](/docs/build/projects) :::tip Public preview -Try dbt Explorer! It's available in [Public Preview](/docs/dbt-versions/product-lifecycles#dbt-cloud) as of October 16, 2023 for dbt Cloud customers. More updates coming soon. +Try dbt Explorer! It's available in [Public Preview](/docs/dbt-versions/product-lifecycles#dbt-cloud) as of October 17, 2023 for dbt Cloud customers. More updates coming soon. ::: @@ -231,4 +231,4 @@ When you select a project node in the graph, a project details panel opens on th ## Related content - [Enterprise permissions](/docs/cloud/manage-access/enterprise-permissions) - [About model governance](/docs/collaborate/govern/about-model-governance) -- [What is data mesh?](https://www.getdbt.com/blog/what-is-data-mesh-the-definition-and-importance-of-data-mesh) blog \ No newline at end of file +- [What is data mesh?](https://www.getdbt.com/blog/what-is-data-mesh-the-definition-and-importance-of-data-mesh) blog From 8b25fe1acd7183f39b1831d42a4164bc919bb176 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:41:06 -0400 Subject: [PATCH 215/216] Empty-Commit From 32c48f269d275a6c6fc201d806eddbdc5e4ea7b1 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Mon, 16 Oct 2023 08:32:29 -0700 Subject: [PATCH 216/216] Update date --- .../release-notes/03-Oct-2023/explorer-public-preview-rn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/explorer-public-preview-rn.md b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/explorer-public-preview-rn.md index 278eeadf492..ebf5add8d03 100644 --- a/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/explorer-public-preview-rn.md +++ b/website/docs/docs/dbt-versions/release-notes/03-Oct-2023/explorer-public-preview-rn.md @@ -7,7 +7,7 @@ date: 2023-10-13 sidebar_position: 07 --- -On Oct 16, 2023, a Public Preview of dbt Explorer will become available to dbt Cloud customers. With dbt Explorer, you can view your project's resources (such as models, tests, and metrics) and their lineage — including interactive DAGs — to gain a better understanding of its latest production state. Navigate and manage your projects within dbt Cloud to help you and other data developers, analysts, and consumers discover and leverage your dbt resources. +On Oct 17, 2023, a Public Preview of dbt Explorer will become available to dbt Cloud customers. With dbt Explorer, you can view your project's resources (such as models, tests, and metrics) and their lineage — including interactive DAGs — to gain a better understanding of its latest production state. Navigate and manage your projects within dbt Cloud to help you and other data developers, analysts, and consumers discover and leverage your dbt resources. For details, refer to [Explore your dbt projects](/docs/collaborate/explore-projects).

)3_uoqwfE&9hJT=I&!Q&KfHn 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 literal 0 HcmV?d00001 From 7d2c8587323b364598d651b9ddeff3e8d055ba43 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:42:50 -0400 Subject: [PATCH 152/216] Update 00-upgrading-to-v1.7.md --- .../docs/guides/migration/versions/00-upgrading-to-v1.7.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md index 4ad87a40557..4ffb2220006 100644 --- a/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md +++ b/website/docs/guides/migration/versions/00-upgrading-to-v1.7.md @@ -8,7 +8,7 @@ description: New features and changes in dbt Core v1.7 - [Changelog](https://github.com/dbt-labs/dbt-core/blob/8aaed0e29f9560bc53d9d3e88325a9597318e375/CHANGELOG.md) - [CLI Installation guide](/docs/core/installation) - [Cloud upgrade guide](/docs/dbt-versions/upgrade-core-in-cloud) -- [Release schedule](https://github.com/dbt-labs/dbt-core/issues/7481) +- [Release schedule](https://github.com/dbt-labs/dbt-core/issues/8260) ## What to know before upgrading @@ -48,4 +48,4 @@ Model governance was introduced in dbt Core v1.5 and it is continuing to be refi - You can configure a `delimiter` for a seed file. - Support packages with the same git repo and unique subdirectory. -- Moved the `date_spine` macro from dbt-utils to dbt-core. \ No newline at end of file +- Moved the `date_spine` macro from dbt-utils to dbt-core. From 31b3ab08d13018c279438ad908b642758dd16923 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Wed, 11 Oct 2023 15:43:58 -0700 Subject: [PATCH 153/216] Add Databricks OAuth doc --- .../manage-access/set-up-databricks-oauth.md | 68 ++++++++++++++++++ .../DBX-auth/dbt-databricks-oauth-user.png | Bin 0 -> 29475 bytes .../DBX-auth/dbt-databricks-oauth.png | Bin 0 -> 41206 bytes 3 files changed, 68 insertions(+) create mode 100644 website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md create mode 100644 website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/DBX-auth/dbt-databricks-oauth-user.png create mode 100644 website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/DBX-auth/dbt-databricks-oauth.png diff --git a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md new file mode 100644 index 00000000000..de0e7155f53 --- /dev/null +++ b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md @@ -0,0 +1,68 @@ +--- +title: "Set up Databricks OAuth" +description: "Learn how dbt Cloud administrators can use Databricks OAuth to control access in a dbt Cloud account." +id: "set-up-databricks-oauth" +--- + +:::info Enterprise Feature + +This guide describes a feature of the dbt Cloud Enterprise plan. If you’re interested in learning more about an Enterprise plan, contact us at sales@getdbt.com. + +::: + +dbt Cloud supports developer OAuth ([OAuth for partner solutions](https://docs.databricks.com/en/integrations/manage-oauth.html)) with Databricks, providing an additional layer of security for dbt enterprise users. When Databricks OAuth is enabled for a dbt Cloud project, all dbt Cloud developers must authenticate with Databricks in order to use the dbt Cloud IDE. The project's deployment environments will still leverage the Databricks authentication method set at the environment level. + + +### Configure Databricks OAuth (Databricks admin) + +To get started, you will need to [add dbt as an OAuth application](https://docs.databricks.com/en/integrations/configure-oauth-dbt.html) with Databricks, in 2 steps: + +- On your terminal, [authenticate to the Databricks Account API](https://docs.databricks.com/en/integrations/configure-oauth-dbt.html#authenticate-to-the-account-api) with the Databricks CLI. You authenticate via: + - OAuth for users ([prerequisites](https://docs.databricks.com/en/dev-tools/auth.html#oauth-u2m-auth)) + - Oauth for service principals ([prerequisites](https://docs.databricks.com/en/dev-tools/auth.html#oauth-m2m-auth)) + - Username and password (must be account admin) +- In that terminal still, **add dbt Cloud as an OAuth application** using `curl` and the [OAuth Customm App Integration API](https://docs.databricks.com/api/account/customappintegration/create) + +For that second step, here is a sample snippet with username/password: + +```BASH +curl -u USERNAME:PASSWORD https://accounts.cloud.databricks.com/api/2.0/accounts/ACCOUNT_ID/oauth2/custom-app-integrations -d '{"redirect_urls": ["https://YOUR_ACCESS_URL/callback", "https://YOUR_ACCESS_URL/complete/databricks"], "confidential": true, "name": "NAME", "scopes": ["sql", "offline_access"]}' +``` + +Replacing the parameters with: + +| Config | Value | +| ------ | ----- | +| **USERNAME** | Your Databricks username (account admin level) | +| **PASSWORD** | Your Databricks password (account admin level) | +| **ACCOUNT_ID** | Your Databricks [account ID](https://docs.databricks.com/en/administration-guide/account-settings/index.html#locate-your-account-id) | +| **YOUR_ACCESS_URL** | The [appropriate Access URL](/docs/cloud/about-cloud/regions-ip-addresses) for your dbt Cloud account region and plan | +| **NAME** | The integration name (i.e 'databricks-dbt-cloud') + +The API response will include the `client_id` and `client_secret` required in the following step. At this time this is the only way to get the secret, the integration will need to be [deleted](https://docs.databricks.com/api/account/customappintegration/delete) and re-created if the secret is lost. + + +### Configure the Connection in dbt Cloud (dbt Cloud project admin) + +Now that you have an OAuth app set up in Databricks, you'll need to add the client ID and secret to dbt Cloud. To do so: + - go to Settings by clicking the gear in the top right. + - on the left, select **Projects** under **Account Settings** + - choose your project from the list + - select **Connection** to edit the connection details + - add the `OAuth Client ID` and `OAuth Client Secret`` from the Databricks OAuth app under the **Optional Settings** section + + + +### Authenticating to Databricks (dbt Cloud IDE developer) + +Once the Databricks connection via OAuth is set up for a dbt Cloud project, each dbt Cloud user will need to authenticate with Databricks in order to use the IDE. To do so: + +- Click the gear icon at the top right and select **Profile settings**. +- Select **Credentials**. +- Choose your project from the list +- Select `OAuth` as the authentication method, save +- Finalize by clicking the **Connect Databricks Account** button + + + +You will then be redirected to Databricks and asked to approve the connection. This redirects you back to dbt Cloud. You should now be an authenticated Databricks user, ready to use the dbt Cloud IDE. diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/DBX-auth/dbt-databricks-oauth-user.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/DBX-auth/dbt-databricks-oauth-user.png new file mode 100644 index 0000000000000000000000000000000000000000..aecf99d726a560942eba0859bcaee4caf83d9818 GIT binary patch literal 29475 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%0Dmbh<2DIDtceM)!giCTvgGK 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 literal 0 HcmV?d00001 diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/DBX-auth/dbt-databricks-oauth.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/DBX-auth/dbt-databricks-oauth.png new file mode 100644 index 0000000000000000000000000000000000000000..bb32fab2afbd8a5a919783674bc63598e32af08d GIT binary patch literal 41206 zcmeFYRajij5;lqjcM{x!ySoPn1Pd12U4ly(++7pg-QC^Y-C?jG!3KBvCwuSjOP+IX z&gFk`c-AnBx4YNsuCA`Gx2g$M_$-Nnh>r*X0f8d*Nn8m60xBE=0x}XF7L2%R@h3t+ zAXZq2i77~liIFNe*qT~cnLt2%3XM;M`=YFY{PJCAfK`AwK6^t>0UN#uKpqyn4T%?tXep z5#pCe!O7sLon#&+vp!3JF64h0n5iUQ3Y{6C>g?GWX=- z>Ovs0bBS_kulM@!=>0B5B&i<`0`UW{Vod*}$UO_6?gizH6+{f*m&!&SEw+h$Mbl5y zFp6F*6T`6rY!jha5#6#&;sLHXWrz^IV>?o@kfcYsZmOulc-LY#qRUDQ=%I=d8@^v9 zBnlu*IG9)@tSM-sAI+#=`sFV+Jg7!IF95?18Ec~f=xyQ}Kb(Lwua`V8jmCMS1%|je z{%K^_NMdGGZl*3XY|uX$J|iP$7=G99@$yqP_WG_oHhB?|Y6v+=FVev!NMjckD=wtn zoM~m#_ZF$Pt+!A;1&=B^p5pqaEUP>pky-*a?P4K(v%_mMEylER8hIFE%63`ZnU4j5 ze6ubcQtUqS+ebIq!RzlJLGmN!$9ML-Uu%`go_@OT%Ylm=3p`Exha9os+uI7Q$#!pk zSfRNxNV$cq=_Z}hFPiNJj4qny;yAcjhdd!GyS}_vMsD-rh8HKnhKF3}f+R{PLN!K8 zjMz}zOs3VKdq-JlT+3q~kD#H=x?zYtx-zo@>vNux-iB%0LuH9!NSwJ~lEc~O6}&K< zV4-7(0AYO(Q3Om~_yvOUNr4mjO07pVo;(+sh}D(z3j3uC!cqk30MbZ5YR?oc&6hu= zS{NP{gA|(q!XpNX&F3ux>}WTB3>sp$X%)&BA36o38^7mGQgdj@ZdyB3ZK%aAMmv%# z-w$Vm5k4;Z$bO^(;=Ttl_<1OJBBn8%eL>pqZE4UE{SC8WXz(z_*vxtBQ0W4~vJs2$ zOM<&M)er4`6e(31WgI3x{2;<2f>;1+4(7DafjBZ1 zVu(!W$38woxN|!D7#@k7?-8Gv^5B)|EKrIg=EV7A+(g`Rv$C>EH;d3qNR`yf6$CpL3X)}FPuJ)Z7-}1T;t+F$H4CyE2*Q(Nub2c>@+r^j zs1#{tt(3XRT*u>&2g*o;siX{_D$;(^14P{9h7>74y~$o<))~Mn{yt;t!k;BM-hFP0s68Y!rD< z`j~fdePUg*nKC&8P7SfF*tHv^ZYh(ikXI;HDCSN>8--P;o|En1@1#=kU^Pgk41bRO zT2NJ-ZV_gY|4W5^X$&Z9+%Q{ahW#yJhvB>|MWcPs*fGjA$~D)u^UW;TlwtYD)c(=s zhuR%e+vIi5$I|?ClNOWoT~B%wdhgPDRU*~Oa=G&Rh4=+-YZ@*gu2QQNYu)9PWkhS2 zWngvg>Uh1D?V`nPKd@WZa>H2oI13cBS=F1JIIbUD#a%PWZ%8CasK!g|{B&RpiaT+d z`h{lZxX-Z>G(jMPV-cH{}a)0nZ@yPKIakp~MbSd~N z_!{YKb$fAi{^v#W^%{mZ-0Qm+GpHfREy#C}(a>_x`MyMsTg@+yjT4^e#^@BNmPoMO zYn$cWXkrnf*nv-&VMr(l<;b3xrtcaA%IMRGJ6PJ@Kj{QWiYxX#f7r`%BTbxW1Z}*PrC(27^1_iyC zj?E>}Ls4Ll7{XG(K|oNzWShP&iY>?Y)FyKK0MPKpgg28NP8@ttAXAUwmckDiCHt9K zoExIk-XFBpF3%SkE*)Z9nLgM=^w%L<4lV#Z4 zDNKKONNtc6eq6YPxi0qpdv&2giwW3xBer)yVnErnHktN^wK)lpfG$JZx( z4PWfg!D+7`muI(i26nl0Y;f+;@5x-cFY;GbJ`i8FA3UC-a1o4fdoZHE)n=$;U|@V| z``&rJjixFb_k3opJX3H=_L!rSYMhgi0Q%^rc3!tX?kg!~!z@hAb=NABYZcFVTACVE4=3!5FKPR%^Gx1nx z^m#)7%dOzis%!aj-(w>EblWMN2juW_@TL$+lBtHdL8qp3&TaYBVf0-qJ>&Y#dbt`= zMT4GW+rl(^;r^X-<58gvV4cS$*8Os(JWETkk=%CUS0w19mAvWl%I0BR?bhKma$WBk z;xTJ8d!~0r5OTM@gKFV7?< zy20zXu>#h1@Bi30V!rS$eD2uEKOgP&ZhEzMr7$%Q9PfQa>c(z|%sM;>Tj@$;VWhWZKf=DaJR8|=zL zsG6utnaasQ(1GvaAs~Y-AYj0Ekl+tK_yYj}{UZnh4*ZP?{)lHm{Zk4Ro(28SJ!ItX ziXW84q@=*#%0><*CN_@dwoW5k^96gH8f!YSlj(>0wDn4 z1K(PkI2n)vtgUPu`2d1s|Ea+TzW)s~lac~pg%gfBd#>~dX2(H2C=xXC+ z0ARFnB>(S2{&|kLiKCH&g`Jaytqtk#=NcH=Iy(uHk^O$rzd!%&rwPE~&zo!<|2Hh~ z0GWT6FtakTF#r2(a8rTbD4&7_z{E;J+`<|x9`HMa*m=1H{!{<|Rr2SJf3;Nq(~^sm z_3xH{mHa)yl>-ln8G|fsz0yJz8lq8jDAZ`lt4L@uE~=!{MfN(LdNCbl&EJz4v9(n zpDV-*$}7A-cTj#Lr+;+!E>u~G)SI|iCpXM^{0HwylyPr?^~_B%kniQ?^@yBVXi;!v z=7MTFpMG&9CR%8=^$UX@m1s5K;7n1Y)1vfv-TM>b-X#6*NL&om{RJR4PtU-JUa}K4 zj6e1txr_5bcJ^&|b(4(BvwOQUDF2!%_-=vK`9t*0g^l-<0?H#Us|2%*Q=0Nr z?wS+q2bQ^;=ZSRw29WOsB?reBpqF=(Y%1$xHG{BXYfA*~LsXtr`eC*8sp=CK$Tpef zo|;y#AP<@Nszhh1X=M78^xpp;O&}eCzhl6bjKDXee(PvFNtei^laShIQ_8eGI`Vj% z_QZZ`HXO&=E}tCScrjFs<*>Pl(fUlEK+m`l{VdC**Fh$SFKE!ni0*~_=n;{wFqY2V znkMA_`4rer9iC7YlW98kec#>X@=$@x3P`o;a%$fquf2P4rQiJH-yX~$+)-fTFlf^0 zd9q8H!Rk!Z7I@MpvzttH4thQMBR?8OXm@&v@d>O;COln->!L-koU9sTbQur-K=c9u z-9;+t70aq9q~jEVdpqIYztnQ0^0ofZ@Cm6p=2Y@KGe^sAHWE2H7yfPj$%Yko@SlDHqtwoI)jn*dpqH$H*@ zbVH*+Bln^gQgMR}hpWKx=f_)N2DU*=)9sx1EswZ*(%NK3*0GQ|Y%{dub$8sOL6T>afYX z0Rij#MCAvCgpFZ60ERqoV zFFg+wyWaLB)(Ru9gcH_%Z-32pbF7u#V+@yrJ(K>|+U3{#(FkqCHzSZaH!#}nP-3Z3R%_%DR z8Ywy}7wp{3JSH9BR*z>$|5#*^WAe>< z7FUBeIXc1B29^i+YL)d!G&nLO7BJFQjTAfV7JqhQPw>P14KPxeJqNgyTe`98t#tbMwPk0jP7bz56RcaUv|7Gd zlH<)3&UQZD99wF2&dkhPsV-D1i^)@Us}C(O;;#y%7tR4BjSfD)m|juybpjH$FI2u# znuJyDNGzUFUbjiwB4asurM|R#X-6%iVYxnBdrP(m--hXHlUVJhT$|Pkl$r+Ub=oVx z+N@DsJTuQmwMbpU$y`i5uue$C{EE!QYeJ@FG48#8zV*Y--=E(XvAZ?J&fIVZ^7kI!VS4w;j?SDIGnN+8oqa;{7o7bM@j-4TGv}hX? z%5%9IYf_B)(WDzRYrGd{3u8nP*`0gueAoB>>n$L@g)v`tKIq}H`J$tTbcHB-un!AQ zMt-$c{1f9 z>{#Mig$@Sb@jc0`9@`M!^4mVi%lEOaK5MAbXi0lLeT#b%GRk4Zk7y6j;MHe~+$q%D zMQqR*Xh_dJ3uou@hYJ#%#fX-sQ){n|tDF`OSO59^Yr@*Pxtrls*zA=C5YlqaXEbIq zOP#rZ6=DT>ANcPcw15G~t7#k35_0F_yq^7FS-z%-&{)m)Z`8n~7!bYjq z%>a;wI7Sy|vySL)6$RYf)>GjuT}Vm}jNG_AU2hchu1dovFeBbF?2)KzbGS~4$mCIh z6T3b4paf)`EJ(>I4Ub32fH`c-lpAEgor7G{*iC}UEU~F+Z3xEJ=sKAC=lX<9n^D~Hc zl8NU^$CtT{`{;j%^$qh(ib3en2~JDx>Z`v{49Gi;sqk~=G`o}5w}bcS0xalB)hu)nCbDr!9ptB{n+b5iH42SaxStqDSO_ zvh`U$L$sF<4EXf;z}+x=H>~+{KFyo}1nbg@jV6Ofn`ghlGpECwHV(_@xXp381AIx{ z@B8cSw?|oLq}%G7yc`R9tXw(`jq_Sx3yR@fcJ3m&#Sr)b2Sq|?XB9c&D_T)hLh^}w z8mXRcLX1ZV6IcRl=5vLhU;7H0J0gphj?C?}`^?&NJq;?Ck~?D6Q4;^|1?~uax0GL# zJo$Hm?PqFw+1*^=g*?iFT*Qs2s@Z!PHbQ+%97fRi6TAeeVhQ2eFVz-_pZ1aW*KVPJ-*S;^e z@47TE``AicV==F1NhXU}E6sckk7u+|ym+~_V_q3JxmocgJHiPx^SLm5@QTA~`J>C$ zw!uCNy!Gt-qj>ru8~s|Z)^(_=rj=JA&_TJ>&Ez~N*GQM_A)U;_4~saQ-C_h;DxEJM zW)Lair=?(@>tF+;a|Wv`9P;anS*Q)nrkt?EQ!kd(9|yJ_#^Zuv+m1yFdgmlf(4*x! zc6^@PUdVa*BwUJl04t>F>@ksc$GSGB`jq#&OyV-i7#_*v8)&(*Zzz``wK@u3uhT{j zkNXg7)yTLC)k6Q~>}uGE(x3-MJ%2neoz$Z&Ps28$+fo=8c^YV0_Vd90c?q{om)WzW&NOzFGGO!`DRFMc;^H7!v=!xeOTr09EX{N{ zZTN&(-8y^gdQO?vEJU@(F(R_=Ho*+gEm~ z&0Dj~bw4tV?HkL?J(ufYS-daicm0~-txBgxLw`UfNzBRsiAEGW{%BGow`3^0o83G3 zIINB3xFBqndSDT610;zJn?>q$E#syC4 zp=YTh$6)na{e{Vbu?U1i+1P)~rw{ z!y_QXBjGSV5?+G?6UKK%2o7gcteHD@^*cXyzwY+R4-Q49Hfp~)H}~|27UhNEb9u>W z6F!#VbvO6dRHh7JhW_`#G8_qsdwRYMvi!tJMHX*xb~2t#K8j z)@ly>qr`?85HL$amDIoa#m_CV?_lpM-!1-Pra^_gF}d}1(-)aYNOh&iu0Q;3jM1R{ z@U#)N$s!P1ntIo%wX%^Qx(G0tCdljp0%DnS>Wx!RZu__dTV$)}O27HFT<#wb5Hteq ze5UFS?|`jUZxeeAbnL33IxaP88icZY^GB)s*r1FCja~@nCvHBmOQPiYYzFHJ)cZI)GWyM=KCdzhI@XK_cA~fN)hYOBFGJOS=9e3I!;l{DYuhk414HBm`Xog`whx2rf29z3{sz32- zR|SNq1B+ZJoJ0ckL+I7Djuh5@panG+h8jq3*W>`|w zD&^VXe}=1hBDey=GrrXVCoIYiDP&U~O3O4`r50>gsASYCX3raJ*Ts>h6XXu*ajF(q z7JuM({$(rsU^aQg;4HyAskN_6A_Lin4<8&Jj(OWpJ5m;XnJfXQv-xu6ZpQK>=U9dL zpRzsN+u-zsqjQ zgKo1SUUR3&-+M5QCj{`WB{oD0N+|DfrZr|$qLb0Skr|Ca8 zw~T7|*IME2)mq&siQXDkYxMG!YzTzT+AZ8cAfH2+P8P0?KH9dIa5HOEOH^pL7j)t< zCCQ)p#?xpjL^@wR*j;rzN&c~$8JIp@{@IJOxB+BBQ_KSndqZ^Vtpc>|agrFYW;o)M zWl8vz>g5g^&+AXC4Mx%53RDygtHe?Zq-7VTa-95ECYNM9TP|1o0pjYl63!H@ zGwLBE?UfSL$(~O-Zsiptbb-kJM|0C$Hp}lTk)IS0`k`lPECk!{Putxa^wB7-2#v(I zs(O2avk!AylCT1tS*bsv?{T&jepX1wkFUqEKb!h~0i@22|H|DO$3P6bk$~IzC!Q-`(kphZe)Tq=odPeK$_ zw%k%7d?ATFX7!wwBKDFB&=*a8zM$Lv#>MA`kBIMLzR)TUZSNX*?z|gGh{^O$FEr!L zREFjn-%V6e7J^vZ=>v(7gDCLzCp~Rmi;r66 zYMHWU&bN13hX+BxDvMTP<&bz2Y3z6g4YtD*zyp$-e0flHs4(n!LVPK=v^1x&?N%rK z)n3@H%<$U%tET^oXD~G@I8>)pENZdb&TR#Rhr*R45QsTIyq#~mVGxb;d|r0f94c4E zQk95KEqfeC`iXQzA525|u#9`JOuNPcS(w*YgB_U}Gpbf0{n{9W*cMyS16Cn*R3cs` z{%@ezY|zbORY&q&EOz+y(U(Lw=MsdLS_3_=OMm@~u~?mlkyL--`J=mkS(*<_PDA@&RDM>()qhIRV!vbRRQcK2gGjwG}a# zcGn_~V4mT_~&raZ^)D)SdzrKOo2oWJa* zG!$+w;AF+QT&wKY)zNFl&ynwP4_C(w=iB|Ud6uTN^Gv0QDHIA~CqJlNUY^7R4hYdo|*S40P&h4T)T$qd#utu)x6b!D(`CsLtLs91@LyLE*z z-GZ|fg81odwD#b`lOiSzP$t4?t>bIvX*9EDlMhF+o(%mhja1C{KlaZD2L}74RViA& zPfHVO9ZHD-md|M~^UszG73i~wr46;)l_dX16r_-^2nq}jlQFD+EzvYeu={5w&xjWB zr}Y!{=AxB31!yqV(o*1 z7V4iDi$Ez#=uiKcuko7Y!aH+d?#%djG7p1Oq(XrlO%`Yvm#!rt`^Un1Vfm=~oBDtA z54xNOhxWjXWJ+hUgKFsc?@U!rFhmfNXzRytb#bygeKw>4nwh_g4Y?uBx!5t5)w&Pr z%`gz|**~#;BR4tyQ-$;t-N%$2Rah^2gueRVE7{s#3-1#t3wTOk_gsxC{?Zmrun#SP zWJ>iEpiBXsnn-}K|M zjdk%aj1i3GzG26D{||>G_3Z-Z?r@X#Bb%xIVCKIm31d<+{2xyZh6+qIx&&;;IR9Yc zNMOvodrbTSGC4%bQ_f5d+KW!Hx>-T5QK6T+hfejhBvc%v$rhLrd=nVjZ%r7V)UqqEuS=d3vxGEW76 zXbJ>Ep8zDh1UY*3RUs0-)znczGZl32ll5uMc{2M+1CzR3Qe{1m;18ekO9T)pe zqTvN%|H$1}|A1TnEL(`9%l1#a#3I9sB?Y}~py>0P@Zq*5m_8ICtTP#g(-lV%D!FvZ&ar!$ zPNji;?WU#kQG4N`B?M(1t4M-Uvxy95Xdp4wEs4Ms+|^0muZ!~#`-@9v?;(Th7Gk4D zn~m=qui6xe%zB)qR}Q^Cy_1pwFMYFYdY74Ci3v(O5@%P)K-n zUo@M>ES`QdnJv2LLJxHOkjq)-0by(q(frxL>jE{K`)SW$L;t|L@Wk@zT~DB1xXI;$ z4pX4B@z3@3W;^WH1|s*}d0#P;TcH00*XqJ}Myp7AxUF@k(P-jQ3bXAUp@4^Mf$XcC z>GMrvnxIQ}stzUBni}Deq5LT6#QK?H#b_M!;9e3=rM@OqCZFTyMXe_0E|1}G$`+bu ze2u|ly4WUpg6U&ASs#b z;b=A5s#bS!IexOcg5A68;zO=AZxf>#icm`XZE?)J7k&P3CyC%-ymY1+|ML5$Jb^MK z?DCjn4R)Cnj$*6T-wrD&4PbQruzA=0 zLp+|{1FCy(;#F;t9s#p2vDF1s+=v$PrBq3mufYP};HFZy^*zYzF0k#S`W`F>%JXk6T zf4nQ@`jnBjoUat9WOLi_riE(3gjg4~hRbIZKb z0qe%+_;zxNKTAiFvFsyx1_l<|s zK2(r2{kq{CYMLzk98Z=NwCu`=J^h2<<7Yq|qmC@n$F3g#=FGz>B}XI_Pa5Izw9=NS zZzDvz7@y+Vn(Hi8_2}a0X`kUd%Qk3HcH7O*>3%KlTX1$9#yz#0H?Jv33w-c{QOdP+ zwODWS-Qk_;WY%sg(^*Yq(o+Ox>(lDg6ghz|@_<1$Yv1+c=FSa1K5bTsiDeh5?SIF? z(upZnF8re7u|Jm-77h-su>G2=NWKYa8Rg#==hn@?$TvO-D)+N#kHDLeYMdzFO$B+Y zGKLZy_OB=J2I|U7g}og{*XFWbrWJmD2wrP()^aCnarRQmSN>$n{yN3j^tu1`-2K^P zGX}$rvjvme2FL_zJI_Jbn|1(Gv6j`BP)!x%>6v+l*B9t+l-od{{IBP73*LB3OU|nI$Z8qOXUdE$Pp|olye(Tq+X)g z@{AA*sOotLDt^vDBv4BLhap_=1Bs(uiKk7fEytdyimVw1M-#u5vn9 zLvWfco*5?$u9rW%sQ95Tr+27EvwIDCG12$DJzGm}yf@s zULCDBaXZ>_&-dJTB_o_|$xRKq$~uiFnO0=rjQ;fcmisNq5AczW5uy4rjq!Rjc+tjJ znMq4kFj<^2JRg}qV$(qJ<@LB~!VG%MWdqPzHTO4jvbHPE3EBBnt3>dH&^JUa^5xo1qEeVTi3NZ zICQ0fupkI7D}zAbjFQ*wDR1JHa$YB}rA%|TCM6Of!XebAj9d3txtf7Fq)i2=^SS0F za*M7A4X$HBl6iV}zf9LD;WcgfgdjKLCz1)#eVg6+k1oe>5M%0mYzrs-k>gRxgrsSu zb~{z>;7itE)s_o58uBy0WBvFd(q%CR)eqju?1c6ra&9cH(tnELlzPJQa> z-@wat-Y%#4u!;EypnxNsdl8mF@m0r4hT;inBDwS#9cFRn?E6O0#*ts1c(vb5tEA+h z`IW6L=))4iHO$CP%C**2JH7J2)l8!qPNA+FV9@Tf9ZG@JbJ5_aF)VRIBY3xp_dWV% zGI0Ll|FAUYd76}SesGwS7JvQuB!$0yg7ChzwGp71VK;Wb+Fz*mdW#HID8s>X4n76) z{d42sK)mklV76bd3XRsxuk)^I->|9#hi=h43fUwDQa*j_-c|&}cSGbvD_ry3iT=S+ zQrS>vqyqV^dN{>M#PQ#A4bB*tMBjE`%N*=bgnz169(_r3#F@d$c`GhN*1dn z)kahB-W$q;egwz?hT&B52huP*B@sha1-k&IO*Zc=CO`xRdk_-*yTEzF!>3+rVb{aT zAD`l>ojw*wCyPeM_XD_+xc6TV>yO+>LPX&EJ4VD_j%QCO+Uc;ObmqKY+Qr=&?K-Ae zeANgayPs%fmPnwx2m};$@aHRwN47j!P4HIBZkjRu!STX4@Og$$wFAyq_u7s2rKo-v z!LVwvu=P$aq9iRh1=&yA55CQ#t*BWqlrjn8oCQBdz%l1By7erPL@t}WPXs2V(*10Q z5_%e+OIc-_Bn)W2qMv0;AK>?bQcJdAdcPsh30F|VcFDj0>{eN%0dohl$9?dqxzg2 z;uyp|5Rrj9hx`Hg$!BmFaZJ|u>*{uD%zUGroJ8`Mffs&XtEx&|rkf<7^>08(PG3&% z$Uq?Pi+CY5o=J0tJS8&JqwlsH=I#RXs=Op&qdneghZ0Sk-U}e}n5?aIdP%M$%XA!$ zsmXw79r0yEM_BD2pXubPKCVS!E8aH*xj1L`#JuNF=zVibf938h){hzZayTjo&!3awvyTp8Wc#+)tZa)hB4wAs zpJipOEfZx=Pz-oDV$8fg8SQ@QAu*2hR*)|H^9Ta@67U_bu7BseF)O%>Gh~&m-dF^b;1qQw#YPJ4M7zvJ2$e6-}nv& z82O1;`_HwrY8Ydf8*eDcSWNAKsL<%1~4E^ur0V=ntFzdUh=zFPO$t^PKuIQls)=6(1EgU z5q7)F^3GG1vtx6*;!8!`mr8A2_d0OIxhxRIhGBO!E@nWQp=T9Tf?*ap>){gbQcENQ zaJOR*Nb)06h;02)Vjtk~VQll^!@Z=f$j5kL_!NRIzt5n}J(9D|1rVNddxGO(z1`Zo zMQ#BXmY<$yU0!Z_92AOPim+3$ilnwSLYqU0svmpFO$?F^|V1o=_DIc`6FDu6vuq#?|#2yD-s-h;V0Nh%ZWJVEi#mx=A z2;qZq*7`WFg{9bTzU`FYZF?D5t#St3_Hb54p$@?Yq^zH>H}jVPC5(`-*$%a}%~oAb z=C55BKbP0lW|d<;n-`U<6Hyh&c9hHTV02MrVu9RE=ZgY|Sc6({cA+B$LOh(%w)tE* z)OJ@{(@G!TPC!mXVkjfM=w!QQ31maQXm*-ibNW4Heb>itj5^oymaHS;xmJrrUSr;L zh4qd@lDym{Hs0>?L|x=KjQ=?tOUvrkXH~;EO&*ki&9T5jSneNt-ZwEahN@yp2oj!x z8dzh!{+UEL+R}Q2Y$4%f`vF&e6su=I#r;dJDA3FRy`|l+ z+v2zBtbnI7qg1jHemYnqTyUbz7@UL30v17@0eD{v(Rb;I-U(!%Q!8lfHrZ zmKMsdWNTAFI!fGxq0HgfcAMCjBx^L{yahv)RXd_P!{3Xqw-3^(_v!o=lQC|39Y(%r z7^m%UfOKrrVky4`LXb61PI9uo^?B+|ST-GtwpQ+d><@CwCwu{M^oYBrnvjaGM_y;z zU@z0}-ciecse^&TzQeAUGYFQmVgtpJ z2l24Rsw9=Donv*r9^rjh3rsA6_wxyJdw8kabl-lGx89}6HoFNbkZlg5;x1*tam(+1 ztirANwF{%2@bcts>oxV4oxym62%HgQ({(=lGz{9Fqfb`QBu02&dZA3)R!jvGDn=SP zkvm#j<+BT|Krg*+I9Hn4)o34rVX?u^84|X0{7pm&EI@qk#Ov%L=ff}amo@(~lXtOD zTae#4u9ULq=ap;Y@hGv&P1cuRDw10GsmOWCO$2km8YTHhqb@ZW47DM<7!@;!Bg8mN zwRf7-!7f0hmP!&rK*IhK!mKPyySO?o-R*=R=!f7>n6V1Zv{L+nOBs=|V z*2ZQ2#ds21mC1wmH3UwVG(x9`hdbik$FJ*vCi^z@LUWidnXO1ytpvODE<02fuLaq)2PVUlcOkKt}&xm>7Mru0b^W5n-XgDnpTiw0QEX3|>S6@|2vtof*rz*j> zV}!l&Ul;3=YPp6yhN;`)55l9Mb$+1J;RY#5BM7X`b=eJNCDxtYTdqZ05*|3=@g7^ZuG^oU-!ZHeZEZ>N_Q6D_ zyWf-&r`AdHypa;W&d~`-AbI(TG;M`!hGOtD%9e>!$RQB1Q|j7A9fU)*@%#{wE-bUK z=JoNpPR+S{2WWubkBb^0C3p7Z{`I$>WQ3e5%i%9982P-XQ6w=sfVPUW9Luu7yXl5l zS2_K4$6>R{$ddj$P_cFRc(%j#crBLcdc>;OA_n3LLB!JB0xsxtGPkP~6GRj*< z55b7)l=$>ANY<9f*tugC4>$X1Sb^&kk}?)w4$^`#3MON&px{HW@9S6;*{_tjbrZnxLb} zW$^5(wf6}Pk;Cp9t+7q4--R0Ne!E&4ZXq5`WA!IqMBW0KA4o{bL-mPJa$3Qe5IG}? zv%}CZjk_v*i5V)GxNuJ2`<#d!^_-s30179M&&-{=T+0i21SFA#C zerl8N_&FxJ9E0uv5ZY-2#GXh;WIgK1_ajShsOw@53!Uk`U<6LNo^B-UAEy8s>D7BI3I**Yul0jbO>fGHU_| zI%x?Gq&-z4ZT)t^2WB$G#sEYwTLf&IyTHSw!CxL^l|10EDNOa%uMsJJXT~VS40phS zzB%Pa$4<*kb%LIn>mr86OZFO>F2D|7eP97aVJH6z`e!e7Rd%(hDTqow zOWNwteG7=iG;Fjx6Hc1Oapok?C=3}m4kd60tPS;K>HG{*TivGfY%jt*J;rgUf2uNR^hl$Bsjnb!!J;r42h z=AA*f5Nb&~3$yJdNk*IuHub6=X5dbHp=(_3F)#FrDSWfD<$#($U-D>&(@1`gVits8 zjEfdsU3r%k<)abYxCsn*j0ozeA0thxeMDOza2$B+p+gjFq#^lyddOFMA({5uJXZ~+ z#zzj9YUBuU1Z8XA=|@x~r#0yDwq%70Jznr@`D1R`%Zmvq4EC!cDcNierq=2H#I`XX zv*~?f!bxMM-4`W_Vleg45hOWYWY5DQ`{dKZ^)5#j?*;9=@C&=1;xF7@Iiz?hIyxiU z_SJ)eO0H`F8-jwg)IIRE#}WHa6TfNCQH`je#knNOv1$fg!X9e$Hait9y zM=?(JEn92drd8Bkj?#CLbc)agY}+2v(gfYRE3{LZ$hN~T(s&ff)?S}cHRFrZoiEr+|u zGHNi$`nxAuO+oM_vEF>>M1^-iZ~OD{JZ03RDAY5BG*x*dt==oUmd{<7t9PAcXKOqQGY;?x^xrmm?ZE?)uWZ z^m3O(7qcyL&0w?Yj|Cr+B!d*hGs^a%bhX)2(RA1|l4>vgpVwIH3PP)Z8Qx|Bo`SD5 z^r|0%o_N^53}pm3t}PP51@u?*^LvE|4PH&@*KnnjS?~tc+g$GRw_Ud&$*rGh*Sl?f zbTT_T ze7qFQxr_pes<}G1;Q(UM6?VBfa1q4kj+8SNK)l_PdQ4h8t3s88W5Uh_vz}||rC~?rO z>AW(;z-xs}$V^aRU3 zps~pS@RxFhd*I9PpH5$l+RepY`q)&WsAm1KqhgCHY`*4rr>4-y*H^%iPqA1dwolfu zZ#AQbh>(!4+@Oz8ovnK8nDmfqNB1k{isnD`2k-W5D~JXj<}WMmGygjc7Zh(Vz7T9KvMOV_2vlb- zA}A!{sNI$)ZC!`!BlTN{UE@5pv`PjeDb?YW2Ha-~jl3G17o~6LLH&g1YKenY=oBAp zbCq|#n5t!=!9fzhU@ECFX&81RQMfFy3@g-{X!^FpfeP4L&td{csSGFO3?IkEQZ$&Hc8 zzvW_g%s;-)w9#*}AS!lh2xEt4K%poW80qXBiz*h%4&Z*eQNbaiLlWv+`w?vkjbz38 zJ<#J5eP(1E$UPbS8t-hmS?rY%HkXx(pD$_h*}27BqW>|Zjo8oG&&UHJS=L#$adsHh zQ0xgaaH2`1X)um;HCGIK$bVCRgey@1Ie=I;7K)f)TcAbjyie-p_ZN^Py znZgmhkN5BwBeFRodnX71OG-jQ0L(})9D>P4))zq(4gt?|(W8vHlkZz&eOWJlr`yi% zh%f~kvJ5CrnNkc|ubwvCw@fdlHr49G7=7|-QL{?-9y9$m2OB6dz-CinAM}D^8c^&5g?Bj z^<+aQY3)ThQXndF@u-pyy)7ZnrNjf;l!Va#6V?Eb2sefY{#R6p5CIj6eJ?aPP_Re$ zkEsJ7x=sS$bfs(F)Y88`ztgN~aa{f1SpWb!WOe^=w)2YJv{D0)xv#DdzixyGH2}oa zeRw{Q@p{?cwg3>*-H*^$n|T=b0^sjQs~MpV4S7XV9`L!#c2GHw{-Uz15`isyfwP63 z^>wBGZ$IdNf4KjDUOB+a0Q_|IUScq1_>4Mm4Tm9Sv|KVD?N3|u7R}d~t;QBAk%KJV z@|iEyQvzChG#*Z9gtuSlZ1wpc@A4a{8&OC;lN2U%!|y;h|FV!+5O6V9^1@L>&Mzgs>Qf6rP=~Oxvk7Tw#X+ zWJg~a5{Z7t)}c(b94%m=&I!b<)p%TK194J^8qru}75d!{cJPkJ2mi>4p12p_TQ~AF zO7;!`oIQe$-x?5^s~7;V-W=!Y4}=M6`VK*hpe2RWa6~=K4?g-=01m~=uT^ysdL2jU zy@>4p>ZSloAkx%0W(;WP4Ee`PQBoy!rYF1zX4e38={f+u1>uf$7?z@3XZA9VoMnX0f-szsDS5O4M7ZdPNgaf;ZA-u20wJO;*N; z0{W9uo5KN3)ahf1?yvLD5|Fdw?`ugEDy7`zmCy&08yq$ZPPux^qxacogSG$cC+~b( z<4$Fx5E^h;g7ic{tbpQ{QKBltxXcQ0??${aWM?1Ym)|7c|0 zA@H2RyzOIC5pJQ|;oU6SCxw8+3dd@=BGZ48nzMD&&~PcsS$aNdx_<}12~*4gh5s=wY{%|=$ z_m$}yuoPqowYk#S_U>B?If)`>t8AW?>r6UB1)vg+T<#D?_s7Pd0^R0mFgBC0!H7Dp zW-wa1N5fsLq7!w4owLl|WHIr`<1uACyIIUcp~7!@%i=$UDkROnoFP9y^zTz&kFktI zuw=MicZgA<0sJ;$2^{8Uqw&nCb{e4Sv)&#g=4fyT(@qVYUfmv4B^8|vtD`zp?Tv#P zj~Xv%9wUvmb-1_@<{B7EtRWJP=p4)9g$7s~|G^{<%_;Ml&&qU$VFZGbxn{zdhBa3* zG#=(zZ72f~`X*74dnuVhDPjPGM4>N=8px0iRDv~!Get-x%9r6co^QO(mOo`@KPxxN z$mCKfIo@eOKdTqVo`9}_01lvL`@khRb2b0|%=be0U`;);hZCOLzqLmn6G;@|@|23B zP+U(qRm}FUN*gDjByr|3f8b9642E)iCr+2)TU6LJo-FWRQ<4}B1 zO#rYv{zuXrZdXYf4$n_+i~O)7+Vz!rVCwBXl1VXu4RiO<(u+~9V`2r(JFYRy*^u_h zYGS5OrD7siMWf`|{0yef`Ow#XqOH$P+^s~dENDR{VXNfFfUTO6W+^xJVKN`Pr73?l zKqDRJd3$|5L>En9K45G8MScgEg(4*Kb_seUMJz4Zl`AO*$G^3+Q3aw>686byIZxmBck*V(GNn@6c$rvUL|+j5{f`Ljn` zxy?1_{1KY&OrDtyW5};x*bwnFU*Ely;!7IMVo-u(4dyzb_lL3AR1`?;JDlr z#BV$yIyjcle3w>1+6-aNN$VY)WSq%D@l7AI&E82vk!N?4D-@_HcrZN!0VWwPS_P!E zGils zw%V0K75NKsN#@+uarvb4<7s5hMqo+HI1ki1>grdYuN*EWKau>BVFaZi!+#d7b?zMv=(~EhflkeqBTlJ=CFmV~|m!`_{6Y1_~1C`?o)pij_CFJ0l|hE>FX! zK>%Hx1TEVm$o@BZ$8+1KYpKV!|HYHy z3lSLgV_K(7Y4xGrzu*u8-Jy-{Q1tuaor zbm2%iWrcN?Ml4vq>fOFY&I}fJ_r)%#E{?;&-2UmhBl_oX2xP9c0VujvzfW`~N6TYn zJ)(PvEP`EcIBkaAW!`tIw1+9I-&JK=wlz8@rK=lYx@(<$Hl3Uk_o97|_-SE$y*cr7 zlLmUGH)l~}^q-E>v-azoIiN_6LwtN9(d@g>d=4w=dCrAD`Z*_W3h^_34C9MgY~HxX z_55$&(yBx43$>zysecYiLB&UtR z{W>%8aov+)ze(Mh5(N)b5Y|QUr5zQWq*!i2r5p!g=DPnDMkpOA35Us=f4}|~NW2SX z>U40#q{aBOSf9}&9^-i09tj6cELr`H)H1J`MXxr6LYD(!kjC1;5&$8GP3lEmha171 z542Snsc_ZjD&L_}jbU-vN0=!-2q;>!G0J{IGS>KXlZMiOklPJt%0@hSx|%$~dQD?`$IhS4_P4Yhm8`_8m3XGB0$?IVx5EnLNgY>COvx zC_JDGdV13=ENi&CO%p?^Ak`mBnYK-@Hyot_hr^PVLh_g#3>pQ;9@Z;$2My(G%nXS5u)yMUm3o#PNtt{K?I?(ds~4myey&8= zF=YP8+Xuo$+z8dMKv*7pt^Iy=-H80v3TOqbF;1E!bbmGZ%lJ}g2kzUVd{~}vlE}?6 z3YcDs$xeP*(ED}NrxqN?fqKu*hIH)UDy_c#v2rol=x!Urh_|n6TDZUH=C@`?{ILwa zF?jgyZn4X-TKlRhgGkQp(WvA89;*hA(owL9w${<;&uSyog48Fd)@H1WQtIVhLw1tIzED>B(8;kJ7J zDSv=JEQMS5p{S^I*Z%6{aXpy@0XM{OvJ5uDYcIox4Y&q+b^GG}lp8|0!-yv?UV%80 zOFwOBoVZ`#6#)a%@g9=L!Rbnwf`{;_!ZF%(p`2GDg|$GlVVer?HJ=Ok1pX@T5Pr^< z8$?)V1s245$z9&nO%7XcUz&dN=VKqdyT|beAKZKNW6Y0W2I~8Fzvd73&avg< zPJCXkb)bpeT{XGF)rqkU%orJ}BSR={2Zm(&uYuSB?wca;A@DP`I`QHDWg^Or%< z%I^(BqSeiC&k#jNcdyUw_K%bNi2Ztml7uU!s+K=qMHIYbi9V+Wt@Omxi6P7t<9$w|^Z5 zEZ{((TZk{O-iN<$vu1>US-9v~hhrVRv8-$>rT<9CzBP|AzBe8l^(4$R27nhm;5${@P}LJ@1bDPMG2arv4UH`)0l9eM?H8ZXKm7II z+`ytvLsLdsUiQbQr+?b|asTSzdIQBr^)?hI8L6(1?#t`w1o!{oSOI1+yesh(ue&Aa zJ7BluW)>YJczvuB!SlILsnO~@29wQ-)wk3o_TX}#X|uDBp30#e!;VU$e$CoN%)+1a z`Dp`w8)2JHisG|!tuDg+fPX`y;N_R7RA8*Q&m_xlrxK3LwdY+hZO*4)8`_2RZF*7{ zq7@nVD#Jx^9sTJnbk!P7gH4y~6t9lBD1hJ%1^69zQXq=(>I-^F$BX?07`dV3sniut z-?JW_+@}WW?OiNq33tqeBI1eTVsWS9ovSAXcEcP zXkeDNXXAKw!SXXFdj{|Vj44aCO!G&1^ne~M)R9}jVdF7bEWQ->Eauhsk5~7p`+n_$ zABW9J{BTgIG-AM>i-A#cwJS)L%7fMEr4{ z6~y;3r{FN$DLH`w7z$DY_Q;4iMsm?o=T=j_+4q;Mh0?kteZ?FQ8^enYGUblisToTE zUysS^s%EV>lDTtF9<^UUxJKoFS zgDxvTWlCU4QB4sZ+XomW+!9dBbn^jLrqY)*x?#X?yca+SxL3R|*p}A3uHl+5@6JDP zxm!lH3FVtlw6%phWLQT3{>sZ4Nn)%hotj_l1^RGjHht4;=JvU+Z^9? zqo&vwLnQ0d!?ZP@r;^z;dY=c`;f#T+6rDzxZ@P*!dDR0Le4g6%>leC1aWtpQ7P6O| zQZ$yZPrTH}0IVR2a^8L*r3pg6mAvV&y6zqkNgoP3$00h-@p{Nzddc4=MnO+4CuAYw zGh*l+vCt!bHl=3M*9ao<^i^~=B4oLN0iBjobr1bX!M`aq%91{NExCon$p<;#;% zW6d*6&JQuhF-!9_RFW%_QUW9JGSwcOmu&(e64Vv&s9COhIc?r*sM{`iJnM#E4gS(s z2jUAz*-~QfII)bZIwH6FM=9-8f37@x!9JhBy2T;zyjWCS8IJ^SZG25=Y;V zf+H?S6G;q8TIm=n&AR+^e*rbQ#EMG%bymBLsY+?AHj?tggb!1@V;o1qA%(VL9Dr3G z1PJRR^dzB|96kVi;$*5H2z=ox-M0VnHTwsHx&kqD-gyO$mOI^Swi~r5Km@}+ zF6Cr!oKRIl1K~H_zGlU|qe-eaKlr zrbxV+3S$8^pqE8yYX-#vR*oHYO{aB&Nk%1MJ4Iw5Js`fI+f99H-zw5I+eGycw*9@s zZI9DX9A5GPm#rLCK`|p_P1&+|I_id)Tbp1mjMZF#FIr9 zooj6!JsV3+_h+`-Q*_#6Fv?B#k#dUL5La!bB@@u|^!vJ9$AGhd0Aixf{kZ7)XGOUW z4UMD0HECG@mAo3)kbFuJxJK~}uVdrsaL!n`)lHL@-(-;lkG zRb9fg&!VZmOpr(Uy4>y~$t|RPkwlSzRbsYY{rAw*W-X4~^cM0X=kNObq-s+Y$)54& zBFW4I^t&>HM-(@4!~QspyQ>5IoQV@KLnGx9S-w)U9*tY!XxN}>z7Y`iE5HO~<>WeC zYbLL6z35w1?Hk0{($>}{Q?DnzTig!{W7h$ANG?j>I|NxZPETIiuWyNeW%2#yeZz>E z)U~g)y@Khe^X<*0$F8!I_#`#(HI*X;rW{x(TI34^>hiw19M5M=1l1=H-;1g*JeF0T zr#E=aV;`gz0epA1bU>UybaKOWpP;wqI4}8N+1g^+l+95biNhsMzhK*gldT&J{O3L6 zs8II0iv4eDlY-e2g*p8ln$Hx9cHAoR#EJW>;5#}H9#IWfl3%O_;XHsJR6hE*E%&yo z+6fGsipgd{MC^cHOf2av@TlKAPB@Y^S}gIjVJRf>s4~8#07G7e$d;A#tBjQV@bt#q zWvS;JptX+c^wE5u;oCI)Ea21Nd|1Eas_xcvmb>4?}@p79_C9UhAZEwH6Up<+PUEWPh?IVvl z3c*runt^|p#UDvhIWu2W&p_J^We?=~kjcGSn#*B`1&FVCSgjrtWIXEzJENC`*(oM1 zx$2NDD)ERRHUha?hajnIE-wjUtpe4votch9#akio;d>mFdE$;-DNY~;~L$U#{` zcD^WHv|8lTrj*HxyWG_^*tBiQ4IAaz8E1B_;zDzHmH# z9i_Qz8)(QWl1EHoJiUlIV=*if6JRyrU>m5AtckoZj`NWx)k&2#ULfu!&6d#T0;g>` zV^~vL?S{A)WJF)#rz}EeByAw4==ou;Buk8llJeQHOKZ6Q!&C?T&j)*%%`ed+Edgu)@X95CT~H0(`vZUI=TD7fJG6@W==c?L6K|f`^U?M{u!b8*oleXLo1YH5AV5hc3R| z%f~>0Wq0V=4#FtDR;}p>LDk(2)5Nq1B)+_;oq|oQHc1P4z^CvrpuLwGnUq+%VcR0w&HsZK=*R{6-g*rJyErJ za?Me4GE32W(E}zH$SNBrW88yL)UrJ2T#OssHZihym>AO>o#0x(KX~ z@?a{>VpdMP!SNlzhSB;BP}{=TVoE(kponoitprbBAMcGrQKxbg)$LC9(yXM!oGw<% zMAASp(6k#rhwN6lj~H8!HGVw7HCw75h~eYA?Wrw#OMN|c+J)+_#8aq4GOQ8Uh7kJg`l>wHg8rjJvInL_&1l-kiyW(;8o!2RL|3&&ImT zJ?s2JB@*smrkB!dpEOJy-KjO+pTDzMu2KvfDNa_|1s9!<3BIta)43E-y+Cj}v0c9t zE_MdJ!eLKu8Y&*6W1~_oQ*eVN7tJLY^?pNpd~~B`MQ?R9Qzf}wBR=3O(_+r3PDRsZ zUVtv5J&4o|Cch4{i58p^(64(W+(@dBJ$$M!gM-eJmUg9Y2nbW4uaE!66K;v}=A{OkZCZbS>r@!2F_J-bMr!#trk~qz(gpiPAP%J1OxLeT8}S z%r^|3S+Dl6RH`jKoh~J*7k%Fs<6V8H7LedGU356P|0VBeO%Q*-&3odrWX@&v!)?3y zO?8md4H!0zV`31p43i4x_}fXdfS)wo3s`J?B!gma+CSVfEs;A4jOzO+IQd>^>*f|> zlSle0uL-=dI{0>UhVa`_#<6duj7A6fwk?>nc@NGD0?z(&&n_pDc%|!W>=bep)}q!4 zAx}^pUC%>~!aZ{UU&S%wq#KkK5MpeMTPxEkX<*`7`C_NYdpczzE~SuXO4*x})eZ*1 zCfb<(Es@MpFk%5G-+hh6T=)a3p8mJ|r}VM5vLY!Y0^Be++9KT!hrwTxzB~fsTg8f?-`6of3!y+ zOTtr$!AlM9`wd8tUEH)pLW%*>6+CwcUbYYDPuSUT#s)au=;`Edi?|)BX;O9qC6~$< zYll`_G3x9)P!`uJmud&?2L+lePG@{n?p4HaQ3o(*%XcW{KgUE5=Zp3kpHQ?%dYY>` z;&ISIzSBkX_AX}9&3#ig%Z}es=-_aGCb`|el9d3+U3z^{(%@Ie8Rv5)&o0GYCZ14u zFOpl+J_5O4 zSN-UCLAAg28>F4=EIEJQc%~Hs4XUI|gtWmZ7;M^va&Q*i7q=-K6+UlR_G~l{lR@S9 zDr-8xW7dwb5x`Z9gvRGJM6o$pc+Q|M8*+cSo86tV`K7_7$~GE>ee5MXR)5MLgzwSv__edDF zR*LK^`;kQpPS?+ESp+(I*wK423xMT0em9b7wpV{(Oi|Ks*Xu)nul@4`t-^h8kcDH` zyghT5&U$8k3im+*=#4-?U5|XfIPqV@)^pRCgX<>c=UdT#+jPGif_KK{=oVhhhA05= z928|ua(Hl1BI34IXd{@BerPBt#2~v4F?sglPT7v&ci2Cxj1k!D%@C;Te}%*OkO5g% z**w#y;kqQ3T26{qyx$HK+EIGEX(M->eWqcHtPbvr@>^HxTFX?27RyvSSlk8COAGgi zy~@6wfHE)LTd@aD*gUP^p%t+^(u}J^Nb52?Cqh6H!EisHCE{GdV(K#DC7leipn(_b zLcS%AQ-WRM-RK%r`LQCNSItVudxD1UtnA77Y5&x8^F)SO}&_;-< zyQ9$6iD6quCBK*w*XmhH3Q_wLMR5&vYp03VfxMBOV3IE`+SvL{|3VHy&wkl=tchAq zv_^BMNp8164Mv=e?aKQ2)y7p?UZ6Ob(3Ni-2rtPi+E4l8gWl2O4eeJU;;6tM`DVCuD~kV(FYmbf+lFci;zloWHP>)9-Jph4XuDh5#*nh7H<_wEl#SGT`HsP zrw6Adg`u38cffY?x#&Of*qn?@WHjEQH@MX<7f@t8VHE=+65oNQ5Q~9+pYAmNR;3G* zP@yZRp;b$ULEjTXHLGJh%37a(+U5g2t{z;+QF@jKm`XcTGqP@w-|ZQqDIJXKF7V%#UmOpjcTIF{QC=f=UrV>ncHXYj>F zglj-h&*uOvp+Vxhh?_X8gHDY1K1I;FzKP^FCGr(kwC?XIR2d5lp#!#O+GzHd9Jy)f zZ%~Pd#T+oYN7i(!04rkuz=%Vv)$(Je;g$|YqvlZJ#3VL(lq@8VpoQ%rI&zhgdR~1C zE!j?QS-c8Nnwpkr#^n%qh<;z$LcOz(EZ>7kKCRA<0x&QtbkBtEwngV%hsBl~-09g~ z$9udaHVi6z+m586G&uF_{O}PAC72rWJ^f%uf~2fDB29Yb$}O)0A+f33%`O@ilfjuT zWMISDW(dYv;I?Oo{9-f$Dvjg5hE!ySRtnveC*^Zv@N{{>K*={X_tQzf!(;&te_>AF zyxBfX?^{?&&SG8N;XUyJROHBZnm~+okl$LK+Kqe9^K9@mWC4`#mx&C+l86XC_2CN1 z5x#%tMXH06sslP0@D_BH44fM=6*u55NWiD?B%3gp2yNl^i1UV=7<3mGLj#vDFhMR< z%XIXMlgLj;d7O6p3h>MwCo~@ZcIQK-&czcpFzr=O5i{gspIP3VClSxrEVgsm2==FDH#|)Y^UoDr+ zWpXdUZ7t*?#vrLva`dCg0(%dhl9TdZvSgV|V&r27v?rOX;M++bD(;g?90vsle`i=> zOTn&MN})Q=z)i<5J#tFTFYYF#wt-=@Uhktgt@my6Z81rhw{d{4}9d3~%q;M>BD zr45XM($@eJx-usG69)+^wt+JTN|tK~7n~rj#?e|~h}Wp5Pd`CUGd4@|GgkKclBb!`(xSs3qJ6w2 z_nrqXtc)*rKmb3r{1pjG6J`&?zee-1Dc_L;PyAml{8KXMQ#?`=-=VkQn^5+&f5}sT zF4y@;Z2!Z3qbi1x*mFX7CBg+omc+jLubeS_?^dE~3ITB9sXr&R0PjWujHoA^mS&A# z=i4WI-*tW?5flG4m7jP?OS4OH`1|$P5q~LN`276&I{nAB15(h$lDCtKUh~M_N&*}> zhqey>>+1_80}sh=I~f+d>KLs^Zv*%xM-GLa?~-Af7oX9yMJ=zdTkA)o|4_c9+}4D{98V0)fZb?s5>uzZe9Layz1%gr`M~Rp+CO0F-iGwE?nJYO) zlx>Hg4&nPxr&$$kg{lc1O4BHwI&z{%FjOgm2z{F})G|(B#mfR*M@!rLJP6)DmNRWXU^< zIh>n~#;liVJ7ybA9u;ji@6b18#s-#P+_eauKt*V`L(`bw_lFsxcB2An-)#^vl> zh20THAP8!=JMje0@@tP%y}lN`);T(W?zG}M%WWSe<;;#`F2{+d_ef#I9E0Ufmf&N9 z?Kk8Bd}4vt-az%%$<3a3W;Mdw6iWCeQ|6U8w<7<>rV$L@5eT@Y^O&}Lq*hT<(Ogza zzrbO4B3CF1R7Bc#b6bA$_GkuSV96mU^p$7>H zL;tell#z+!vL$~xWfuu#a`)y>?#st(hDmTd5lFJzhO#_O?9u~Z;;{N}Acz_2(+v+! zUliGTSAxG-3hMyoxn&7kmeV@8flH_=t4MvNk(<$p!DDyJh7odY({Y1(0z*DY%L6Ab z&5+yK23ej|aV5;bvf`J5nvX`sd5WS2L&~JmM(G<*Y!>15Rrv$FZW;`?O^-`xxAtQe zXGfz?Tl7!!RfZ**;)w$0rZ!DRy3>hs2_rMxC72Ut_rr^4XDbeRHQ0ey?6*6QIztiKW%pNpI^W0~&Ndi{k*~KkC1T816#4Q2&jm%XP(}BBOZ8VQO(NV@ zE%N6e`SBLXWXjnJL;4g>)6|C^vBtQWuZ|$vK;#~6I)s%wLbUQnNWPKe8oS@Vu?$8u zkE&<=Ix;y1j086;Znkr0(Pef<&SkC#HqiX0Y;Je9rplkKrwiu^k3;U1`eVt6u9qj( zrwW$|pD~!)VhucFerM^LU=pu$rhb!%GBfe6XIvN0t1+9ELns+tZ|)IS)4NzwI@bMV z9d;G&PMsJCA$t*AlBYWd-PZKn`t`E-iLA!%5O;Sx=UR0nk*%86j$9!#OndVxJt6tw zPb?{J7o^r6TBJ8oF~uHvhV$fm0|7gS3yq4y!FYOu0Q8g&_BtD=Y@eFr8A{~-*f001 zpeD0xDxSJ9I%l=R!#o6yjMjy}DT2`_=;paF@3VlN(HPUt(z$r&BSmSrw2q2fte%Ng83rT1tJ4oa> zj{>^n--7{~C+Ue1lu{fgm?}EuQ3QtM^H9eOq zsKU#sBfCgo2l;atwMH7r#5qJ@f#=$CPuUGv3?8rZc>*nO;Zs>ct7+p6P7=QYGz=OY zkNcBZf`s(;bl!22fEMdG@ugd@PT82eeh|sQwNZs#-ZiPy_G9Q~poKfbUVX9iN-36X z22xK8^|IR+krd~~*gS%2)N$l?$Id|uR!WWsZ^^X@4v!^vue=%gf@vprOi58>C#h3j zJG+ye(3U6*;>XX6N3KdZ;T7@}D;%gfKg_iKt9;T56{ZbOs2w#4`DjXk5s0MI2$ zvgKyjw4vUZpG=`L%&A3;cb6vlkfD>iuOh_Qq^i6Y}+z0;+R$T)ICI8V5a z`VS_%<2_X3W!ORu923)FUHCpLs@|Hw(U0eQa{KRY?fPMmT5p%%jtCj37nWI_E70S> zhn3c&Tlim}FzfWAjMrPVFe!{>)+yPV($(d;iF%4&<~{Ka>U=WfEp6{jZEL#UJC}?j zJN@~&8Nnq^b^YDh#xSMjYWhNrV8|&}z(|}(cfUSGuG7J;V(`ol?ka=*Lkc7jEL!k5 z^rOXVqQr^HEd6tVt=nKn*O6RlQ-oR@K9WxrgahD36#r<`bG#pG& zJz9`FY4oj=QKu?oo@NNMXvCZ%muDj2i$el;>Zz1Dq_QCe5lS`Y0>xO*?lAU{@J^y{r z0~SDBT%ddV{;l?JTOe*9v|7Z;2G-agKLfy53cY=o#_2_)g!}>Ei9dLxvI?S5s}iv} z@F%9$K`S6!|0zHLTq=_Sh#JTL0Uei$Z~nXTYwt+Wm10Af;!DoB_S7@Rbu_0Zdn$vm z)WCzWu=Qsp59H1NV53$*e~o{!m^F8o2j@C>Pz)X3f)I*GALl^{yx|X@_H)CnGLb{x zKE?qrVZDB}@x6iaiG1U(>AV_&Ja+ush2vQzx#jLhWh+2pg8f5c!jsgze#q9%uWwXf z0n`!}ovI9_T!}9TKRf01Mh1H3*q0FTZ#AX<{2#rzC=AHt(`PoteXIVm(|w>x7^32n zDAa7X_(0fq{vWU=Hjo89wHiC~f%ik;PfDMj*LMfx?3Y08UUrMZzXG*=UShnJ zXeto?y>A0l>q~fexYLr-U*X}9FS*;LS_XLkYV7|(YT|)@nBcszZ0fJaUNXkD+Xi|5 z>aOVkQ=kBlY+m%|))m5~0G`_675@YH-u~+!w;s@h2LVy!DzEn&w-VqT^aZ1b{wq7Y z_a!?#eml78wO98neK|x4+5qLRob>RQ&Yx}s!{o1=bnTajag;%dzk<#2UxLl`QkbUx z8aTAS#HmxnDgUuP{D1z!K`K)S@bmZmfJViysQUZM&BXsF8C)?8J{uhT?!AeDY%eSjmz5Rxdki+39>0sVNsypOa;XO((2~ZP8 z$Pfh(36~LPud)07y){q)3FBh_N*J$j5$ua)ssWmdFTYhN3CsNVlDIsU9=hNgI?gb^oyxUl>avX3@gG7)v#L zVDZF4vIqY4+Q8vjWoS@_Kkfbs85iZloeTgDh7K91#%iEOyc!MQu-=F}n5iRK`Fg{j z3<3cUw&0QHKq&W|Iq?sRDMLY|4618cr%BMZmoj#5`8XKYH2Od%FA^KAcALS)jA_GA zR~{HEndw%t#`qlrxR?>q+;dOHXQ6|3|Ak43RnQb)^B}icon{ z&6O?=Nh2do557*Mt~|SIm>YMcz%1o#9;ZUDEgd<6#fG>kro=J};cLQj&d~42cp}4) zgVQUQMTF1LCAY*;RJ7AVJWk+qsY%PSs@*;o9x-L9?gZk+MI=U-Z!7xrD=xN6m(W=R z6iOCJf!O+p{OA%9+bN*Gj~?Y>GHEsy{(Zfi~vfLbdGqUD^mbBvRn4EN0w9M-Q6^ zv(BcL5M^uXHm09wwyWTq6Vk!PZup`-?(a)Um6Z;hkG4bxM%Ifs>B z6D2NHeFImKKtmZRnpCr#xa=~_AxzZcJNU7xZHOfQ!>?P|B>vSnR zE(V$Q9DFab9waq(4ZmY)*(Fb4%%*n%BD2IhM%0S((QT(Rj{w|?%hk`?;t>lr2vk$p3WOzXAO>%798SeSk4@0+Z@6J=(cE}?I0$R zNQyd`Ek_TPsQQeYY2$~nv3|Ooz<$SdUMd{u+U@p58vMe8XGIz9Zt7bkkhxwnP!mbK zUpZuersRkMs?lI<1tH7}xTBOKyrbXhQnE@hNy`7!mUY^Qf;g~2J8 z_3`b9sn8&G{b97z8<=$QU^dc#464L1k-$hEHbiO#Ig&=dAz{K1%ydBDME zn!r@5;5LcTYyM8dFY?VBq#R+suX4^?G(->kQSsInJG8>7oJ~McCCXaeuoTOfedh;r z&%NIwTEj0KEwTw}cVg(dw?bXCsL*5#mb}%h;QnBjzkc$ z$veNFX+M-tcQYhi?y&4`v!g2sH=5U0&#Er3!1-(((e3tVR=rN_1k`2S7(TFVd!gqE zT$vbQ1vC2EnIr6$JIY-JBOHCbAJU`YM zc)!e#fVAXzHQ5^9MwSO4;evebfJ(a2pFRJUl^=T;a_=&^n(E2H{uUb~S zTViH?ck!vN$wlxJ$ChY3o5xRviE|Ja{gZ|}??W(g)l;X1Z6y7Sl>OKgH@*jTQ6Ug- zL;Iotd9l2;`*Df=1BR3LojC35ecPI`R9LFQkE~@Hg^J+tvF$(3M3WOHquOGL3*Pby z2!S`nXtXfnGH01_yImi#;R4R0Xw~}4OYsJsgvaD-&Z)d1-mPoC#9cdQ-9!}PRL&8& z2or`2-KBQ@EjD#r4-Kc46jl9LU+Nq3fm;rKa9{_E9J!d|ZX`CqUMaH}FE?tvx?QhU zE9nCZjJXG=8@|gHPgKZPEFyK-VSLNGTxzf=fTVyJL_6og*J2?UiiM=sgJ6cx664+C zy66Ts?1|d(CU>O6VE}2aMeNQ=1hZ^s^M?5`8%|{b_euTfDlpfTZlWQ%#8oVDJ+AmYP$Whul>4biQoZ=BQY<^a*}iu#S#M+ylTf?~K)O zh(td!&VufRnx@Y1l=x}7r{=kFn>P{9$6JDkm3ea&HzZmZ9~Q%L0cE03Ja@!4fM=qg z_f2Qd`4c^u48Yy)M3xN7VRsH9*ID=9P`5DMTa9CJt-3Tx>r1DN%YzBC946@!ZV8$G zx=QPy6`)WCM@ZaxFzxZT_0tWBTNJ$D@M^5tf9GeOJf9G91dHsgT7481a#*6+Hag+o z4Hg)ic)`1jZRVq}zmJia*nbQC)I^m`ZT|%Dg;B-H^SKD5zmo59-i0E8LV%L_ba*V^ zjxIcys-L149>(o;Ss{=DN8mB(SOiNL;det-8=Ze4(?nUCn}>-d8{g`N(&`!c%(HRT zSQYt^Qf74F`|sI$N+qlXqs7$2O15Dn%o5d_H0Zm1%S1DL6EzFh7V6>X&r3kZitkQ1p zNG!dqdQm@=r!V=W`{hednbyOI5yhuHzhgf}f9$B>w_-);@`GC#DrzR?&0k=B9Glte zF1O|dBz7;EPyLpMs3r_oM#Bx>0B~l8v%V~ePh6`d)zj!c%6LXmi3R>|muvFK*|!7M z?vhpNAp4Cz)6`(ZNqlqPAZ+UQ=v!&0=* zmFGV87Wc$fI1%4BA-vm*LbfqtVrT6l*j2(2tI;~W#|!q4tEnaUc@RoSTWw;aFH+panwES&%L+dC@%YD7u>U9l~h$Y_b{uLq6A9^&N+EY9D-x zR?d*LRg5YJ!S%9TAXM$K-8H4m!y5j(%#I;24MoVh9_;!7%z(QS*(NV@ zw&JBjSNCjO(b&c@!e9k>Oqiuix-6X<`Fy1*e<{cqpTXrSAKljNt{j)dL^ksXG?=s$ z3Fz+S_~A!v?3MB?k+>noOBE}s@2ypnqFwZjQzs7q-?QTNM)aom)8dSp~rF_+DRI#-`KVt&r25NwSyX9R)jlh(+4Tv}5 zZfuJ)GQ}qL!F5!nt>$&UGD_#|wMlTCmRP!@vVt628fRVl`u9nl6nh=G+Yh(3)5Cyf zr++#ozh!ZFccVj_=8p9ErrG;sN`X|f8wSPF9pPM6=w1(46f`tlZ*uj|eb+XVRAV&m zS_EK?6P4e<5SmOErfUp%XD?rl;Z&JSE?@?>F~fj-f@!rhSN&q4SI`E`Y&}JVaDR`F zo|tRz!C0A3nS8g`+JMEow0*{FHc0d47u4rq=|g^DGqXFjJj@o&1?Fu~DSq#+dGJlm zR@7BWGz>M$V?<%fgTNZn$-8q zXbSEPlnBq5bsU0^xdNKB8H>kc4q?-j8NfMrz%Zzm_ zHP)C=+=m$Zk~LWp(sB_sG%mS~Wn^g>lg3E0D~cprpstO>z;qlKj(GMALpF+=Y771-1GKy&VDF!-)HN49Kqoe)y+8%?2gbrKYv~ci=j;6}v^~osy$RxTH@h9mfS5WuMwcRgM#zcP^+lph8FL4@+Lp>hZ_JH{ zqn9~as$Q?sHrgJ z+$rOl)Q#(JLXQujsPFI_1H%;}-kYe*Zfy(&q#^jh*cF>&=u4R3spQCE zZb3_(X}A*W*P&6XkI%D545SAc*P=QQl}8UM=klQ=H!^3lk?Ev2BfcAR7l$@iWV?go ziAe;lWZxH$0vD_HD?CRVUKO>ias$g~fR{$4$f(Z)MLV?Pn3hTGlhFdVdNQJx09d99 zBAz;HK3a?3;=X{0$ux_$ziR$|dvCOX9Rm

Temporary schemas aren't dropping
-
If your temporary schemas aren't dropping after a PR merges or closes, this typically indicates one of two issues: +
If your temporary schemas aren't dropping after a PR merges or closes, this typically indicates one of these issues: