From 988f1b7189b511943a006dc8d14a944f351d4b82 Mon Sep 17 00:00:00 2001 From: "Leona B. Campbell" <3880403+runleonarun@users.noreply.github.com> Date: Wed, 13 Nov 2024 17:01:20 -0800 Subject: [PATCH 1/3] Adding multiple unique keys (#6438) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes https://github.com/dbt-labs/docs.getdbt.com/issues/6343 ## What are you changing in this pull request and why? Adds multiple unique keys as outline in [this plan](https://github.com/dbt-labs/docs.getdbt.com/issues/6343#issuecomment-2450966778). ## Checklist - [ ] I have reviewed the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) so my content adheres to these guidelines. - [ ] The topic I'm writing about is for specific dbt version(s) and I have versioned it according to the [version a whole page](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/single-sourcing-content.md#adding-a-new-version) and/or [version a block of content](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/single-sourcing-content.md#versioning-blocks-of-content) guidelines. - [ ] I have added checklist item(s) to this list for anything anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch." - [ ] The content in this PR requires a dbt release note, so I added one to the [release notes page](https://docs.getdbt.com/docs/dbt-versions/dbt-cloud-release-notes). --- 🚀 Deployment available! Here are the direct links to the updated files: - https://docs-getdbt-com-git-mult-unique-keys-dbt-labs.vercel.app/docs/build/snapshots - https://docs-getdbt-com-git-mult-unique-keys-dbt-labs.vercel.app/reference/resource-configs/unique_key --------- Co-authored-by: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> --- website/docs/docs/build/snapshots.md | 2 +- .../reference/resource-configs/unique_key.md | 47 +++++++------------ 2 files changed, 19 insertions(+), 30 deletions(-) diff --git a/website/docs/docs/build/snapshots.md b/website/docs/docs/build/snapshots.md index dd7a44fd48c..e5f33b11cab 100644 --- a/website/docs/docs/build/snapshots.md +++ b/website/docs/docs/build/snapshots.md @@ -83,7 +83,7 @@ The following table outlines the configurations available for snapshots: | [schema](/reference/resource-configs/schema) | Specify a custom schema for the snapshot | No | snapshots | | [alias](/reference/resource-configs/alias) | Specify an alias for the snapshot | No | your_custom_snapshot | | [strategy](/reference/resource-configs/strategy) | The snapshot strategy to use. Valid values: `timestamp` or `check` | Yes | timestamp | -| [unique_key](/reference/resource-configs/unique_key) | A column or expression for the record | Yes | id | +| [unique_key](/reference/resource-configs/unique_key) | A column(s) (string or array) or expression for the record | Yes | `id` or `[order_id, product_id]` | | [check_cols](/reference/resource-configs/check_cols) | If using the `check` strategy, then the columns to check | Only if using the `check` strategy | ["status"] | | [updated_at](/reference/resource-configs/updated_at) | If using the `timestamp` strategy, the timestamp column to compare | Only if using the `timestamp` strategy | updated_at | | [invalidate_hard_deletes](/reference/resource-configs/invalidate_hard_deletes) | Find hard deleted records in source and set `dbt_valid_to` to current time if the record no longer exists | No | True | diff --git a/website/docs/reference/resource-configs/unique_key.md b/website/docs/reference/resource-configs/unique_key.md index 996e7148292..41884e175d2 100644 --- a/website/docs/reference/resource-configs/unique_key.md +++ b/website/docs/reference/resource-configs/unique_key.md @@ -1,6 +1,6 @@ --- resource_types: [snapshots] -description: "Unique_key - Read this in-depth guide to learn about configurations in dbt." +description: "Learn more about unique_key configurations in dbt." datatype: column_name_or_expression --- @@ -14,7 +14,7 @@ snapshots: - name: orders_snapshot relation: source('my_source', 'my_table') [config](/reference/snapshot-configs): - unique_key: id + unique_key: order_id ``` @@ -52,7 +52,7 @@ snapshots: ## Description A column name or expression that is unique for the inputs of a snapshot. dbt uses this to match records between a result set and an existing snapshot, so that changes can be captured correctly. -In Versionless and dbt v1.9 and later, [snapshots](/docs/build/snapshots) are defined and configured in YAML files within your `snapshots/` directory. The `unique_key` is specified within the `config` block of your snapshot YAML file. +In Versionless and dbt v1.9 and later, [snapshots](/docs/build/snapshots) are defined and configured in YAML files within your `snapshots/` directory. You can specify one or multiple `unique_key` values within your snapshot YAML file's `config` key. :::caution @@ -114,29 +114,37 @@ snapshots: -### Use a combination of two columns as a unique key -This configuration accepts a valid column expression. As such, you can concatenate two columns together as a unique key if required. It's a good idea to use a separator (e.g. `'-'`) to ensure uniqueness. - +### Use multiple unique keys + +You can configure snapshots to use multiple unique keys for `primary_key` columns. + ```yaml snapshots: - - name: transaction_items_snapshot - relation: source('erp', 'transactions') + - name: orders_snapshot + relation: source('jaffle_shop', 'orders') config: schema: snapshots - unique_key: "transaction_id || '-' || line_item_id" + unique_key: + - order_id + - product_id strategy: timestamp updated_at: updated_at - + ``` + +### Use a combination of two columns as a unique key + +This configuration accepts a valid column expression. As such, you can concatenate two columns together as a unique key if required. It's a good idea to use a separator (for example, `'-'`) to ensure uniqueness. + ```jinja2 @@ -159,25 +167,9 @@ from {{ source('erp', 'transactions') }} ``` - Though, it's probably a better idea to construct this column in your query and use that as the `unique_key`: - - - - -```yaml -snapshots: - - name: transaction_items_snapshot - relation: {{ ref('transaction_items_ephemeral') }} - config: - schema: snapshots - unique_key: id - strategy: timestamp - updated_at: updated_at -``` - @@ -195,9 +187,6 @@ from {{ source('erp', 'transactions') }} In this example, we create an ephemeral model `transaction_items_ephemeral` that creates an `id` column that can be used as the `unique_key` our snapshot configuration. - - - ```jinja2 From 44f117454532b7c932a8be75fcb5a945897f0642 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 13 Nov 2024 20:05:01 -0500 Subject: [PATCH 2/3] Enhancing permissions table (#6479) ## What are you changing in this pull request and why? Enhancing the permissions tables: Adding - to prepare for sortable tables Adding superscript and footnotes to clarify default R permissions Fixing spacing and reducing text ## Checklist - [ ] I have reviewed the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) so my content adheres to these guidelines. - [ ] The topic I'm writing about is for specific dbt version(s) and I have versioned it according to the [version a whole page](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/single-sourcing-content.md#adding-a-new-version) and/or [version a block of content](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/single-sourcing-content.md#versioning-blocks-of-content) guidelines. - [ ] I have added checklist item(s) to this list for anything anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch." - [ ] The content in this PR requires a dbt release note, so I added one to the [release notes page](https://docs.getdbt.com/docs/dbt-versions/dbt-cloud-release-notes). --- .../snippets/_enterprise-permissions-table.md | 154 +++++++++++------- 1 file changed, 93 insertions(+), 61 deletions(-) diff --git a/website/snippets/_enterprise-permissions-table.md b/website/snippets/_enterprise-permissions-table.md index 688e8911bf4..a5b825d34d2 100644 --- a/website/snippets/_enterprise-permissions-table.md +++ b/website/snippets/_enterprise-permissions-table.md @@ -1,9 +1,4 @@ -Key: - -* (W)rite — Create new or modify existing. Includes `send`, `create`, `delete`, `allocate`, `modify`, `develop`, and `read`. -* (R)ead — Can view but can not create or change any fields. - Permissions: * Account-level permissions — Permissions related to the management of the dbt Cloud account. For example, billing and account settings. @@ -12,77 +7,114 @@ Permissions: ### Account roles Account roles enable you to manage the dbt Cloud account and manage the account settings (for example, generating service tokens, inviting users, and configuring SSO). They also provide project-level permissions. The **Account Admin** role is the highest level of access you can assign. +Key: + +* (W)rite — Create new or modify existing. Includes `send`, `create`, `delete`, `allocate`, `modify`, and `develop`. +* (R)ead — Can view but can not create or change any fields. + #### Account permissions for account roles -| Account-level permission| Account Admin | Billing admin | Manage

marketplace

apps | Project creator | Security admin | Viewer | + + + +{` +| Account-level permission| Account Admin | Billing admin | Manage marketplace apps | Project creator | Security admin | Viewer | |:-------------------------|:-------------:|:------------:|:-------------------------:|:---------------:|:--------------:|:------:| -| Account settings | W | | | R | R | R | -| Audit logs | R | | | | R | R | -| Auth provider | W | | | | W | R | -| Billing | W | W | | | | R | -| Connections | W | | | W | | | -| Groups | W | | | R | W | R | -| Invitations | W | | | W | W | R | -| IP restrictions | W | | | | W | R | -| Licenses | W | | | W | W | R | -| Marketplace app | | | W | | | | -| Members | W | | | W | W | R | -| Project (create) | W | | | W | | | -| Public models | R | R | | R | R | R | -| Service tokens | W | | | | R | R | -| Webhooks | W | | | | | | +| Account settings | W | - | - | R | R | R | +| Audit logs | R | - | - | - | R | R | +| Auth provider | W | - | - | - | W | R | +| Billing | W | W | - | - | - | R | +| Connections | W | - | - | W | - | - | +| Groups | W | - | - | R | W | R | +| Invitations | W | - | - | W | W | R | +| IP restrictions | W | - | - | - | W | R | +| Licenses | W | - | - | W | W | R | +| Marketplace app | - | - | W | - | - | - | +| Members | W | - | - | W | W | R | +| Project (create) | W | - | - | W | - | - | +| Public models | R | R | - | R | R | R | +| Service tokens | W | - | - | - | R | R | +| Webhooks | W | - | - | - | - | - | +`} + + #### Project permissions for account roles + + +{` |Project-level permission | Account Admin | Billing admin | Project creator | Security admin | Viewer | |:-------------------------|:-------------:|:-------------:|:---------------:|:--------------:|:------:| -| Environment credentials (deployment) | W | | W | | R | -| Custom env. variables | W | | W | | R | -| Data platform configurations | W | | W | | R | -| Develop (IDE or dbt Cloud CLI) | W | | W | | | -| Environments | W | | W | | R | -| Jobs | W | | W | | R | -| Metadata GraphQL API access | R | | R | | R | -| Permissions | W | | W | W | R | -| Projects | W | | W | R | R | -| Repositories | W | | W | | R | -| Runs | W | | W | | R | -| Semantic Layer config | W | | W | | R | +| Environment credentials | W | - | W | - | R | +| Custom env. variables | W | - | W | - | R | +| Data platform configurations| W | - | W | - | R | +| Develop (IDE or CLI) | W | - | W | - | - | +| Environments | W | - | W | - | R | +| Jobs | W | - | W | - | R | +| Metadata GraphQL API access | R | - | R | - | R | +| Permissions | W | - | W | W | R | +| Projects | W | - | W | R | R | +| Repositories | W | - | W | - | R | +| Runs | W | - | W | - | R | +| Semantic Layer config | W | - | W | v | R | +`} + ### Project role permissions The project roles enable you to work within the projects in various capacities. They primarily provide access to project-level permissions such as repos and the IDE or dbt Cloud CLI, but may also provide some account-level permissions. +Key: + +* (W)rite — Create new or modify existing. Includes `send`, `create`, `delete`, `allocate`, `modify`, and `develop`. +* (R)ead — Can view but can not create or change any fields. + #### Account permissions for project roles -| Account-level permission | Admin | Analyst | Database admin | Developer | Git Admin | Job admin | Job runner | Job viewer | Metadata

(Discovery API only) | Semantic Layer | Stakeholder | Team admin | Webhook | + + +{` +| Account-level permission | Admin | Analyst | Database admin | Developer | Git Admin | Job admin | Job runner | Job viewer | Metadata (Discovery API only) | Semantic Layer | Stakeholder | Team admin | Webhook | |--------------------------|:-----:|:-------:|:--------------:|:---------:|:---------:|:---------:|:-----------:|:-----------:|:--------:|:--------------:|:-----------:|:----------:|:-------:| -| Account settings | R | | R | | R | | | | | | | R | | -| Auth provider | | | | | | | | | | | | | | -| Billing | | | | | | | | | | | | | | -| Connections | R | R | R | R | R | R | | | | | R | R | | -| Groups | R | | R | R | R | | | | | | R | R | | -| Invitations | W | R | R | R | R | R | | R | | | R | R | | -| Licenses | W | R | R | R | R | R | | R | | | | R | | -| Members | W | | R | R | R | | | | | | R | R | | -| Project (create) | | | | | | | | | | | | | | -| Public models | R | R | R | R | R | R | | R | R | R | R | R | R | -| Service tokens | | | | | | | | | | | | | | -| Webhooks | W | | | W | | | | | | | | | W | +| Account settings | R | - | R | - | R | - | - | - | - | - | - | R | - | +| Auth provider | - | - | - | - | - | - | - | - | - | - | - | - | - | +| Billing | - | - | - | - | - | - | - | - | - | - | - | - | - | +| Connections | R | R | R | R | R | R | - | - | - | - | R | R | - | +| Groups | R | - | R | R | R | - | - | - | - | - | R | R | - | +| Invitations | W | R | R | R | R | R | - | R | - | - | R | R | - | +| Licenses | W | R | R | R | R | R | - | R | - | - | - | R | - | +| Members | W | - | R | R | R | - | - | - | - | - | R | R | - | +| Project (create) | - | - | - | - | - | - | - | - | - | - | - | - | - | +| Public models | R | R | R | R | R | R | - | R | R | R | R | R | R | +| Service tokens | - | - | - | - | - | - | - | - | - | - | - | - | - | +| Webhooks | W | - | - | W | - | - | - | - | - | - | - | - | W | +`} + + #### Project permissions for project roles - -|Project-level permission | Admin | Analyst | Database admin | Developer | Git Admin | Job admin | Job runner | Job viewer | Metadata

(Discovery API only) | Semantic Layer | Stakeholder | Team admin | Webhook | -|--------------------------|:-----:|:-------:|:--------------:|:---------:|:---------:|:---------:|:-----------:|:-----------:|:--------:|:--------------:|:-----------:|:----------:|:-------:| -| Environment credentials (deployment) | W | W | W | W | R | W | | | | | R | R | | -| Custom env. variables | W | W | W | W | W | W | | R | | | R | W | | -| Data platform configurations| W | W | W | W | R | W | | | | | R | R | | -| Develop
(IDE or dbt Cloud CLI) | W | W | | W | | | | | | | | | | -| Environments | W | R | R | R | R | W | | R | | | R | R | | -| Jobs | W | R | R | R | R | W | R | R | | | R | R | | -| Metadata GraphQL API access | R | R | R | R | R | R | | R | R | | R | R | | -| Permissions (Groups & Licenses) | W | | R | R | R | | | | | | | R | | | | | R | | | -| Projects | W | W | W | W | W | R | | R | | | R | W | | -| Repositories | W | | R | R | W | | | | | | R | R | | -| Runs | W | R | R | R | R | W | W | R | | | R | R | | -| Semantic Layer config | W | R | W | R | R | R | | | | W | R | R | | + + + +{` +|Project-level permission | Admin | Analyst | Database admin | Developer | Git Admin | Job admin | Job runner | Job viewer | Metadata (Discovery API only) | Semantic Layer | Stakeholder | Team admin | Webhook | +|--------------------------|:-----:|:-------:|:--------------:|:---------:|:---------:|:---------:|:-----------:|:-----------:|:---------------------------------------:|:--------------:|:-----------:|:----------:|:-------:| +| Environment credentials | W | W | W | W | R | W | - | - | - | - | R | R | - | +| Custom env. variables | W | W | W | W | W | W | - | R | - | - | R | W | - | +| Data platform configs | W | W | W | W | R | W | - | - | - | - | R | R | - | +| Develop (IDE or CLI) | W | W | - | W | - | - | - | - | - | - | - | - | - | +| Environments | W | R* | R* | R* | R* | W | - | R | - | - | R | R* | - | +| Jobs | W | R* | R* | R* | R* | W | R | R | - | - | R | R* | - | +| Metadata GraphQL API access| R | R | R | R | R | R | - | R | R | - | R | R | - | +| Permissions | W | - | R | R | R | - | - | - | - | - | - | R | - | +| Projects | W | W | W | W | W | R | - | R | - | - | R | W | - | +| Repositories | W | - | R | R | W | - | - | - | - | - | R | R | - | +| Runs | W | R* | R* | R* | R* | W | W | R | - | - | R | R* | - | +| Semantic Layer config | W | R | W | R | R | R | - | - | - | W | R | R | - | + +`} + + + +\* These permissions are `R`ead-only by default, but may be changed to `W`rite with [environment permissions](/docs/cloud/manage-access/environment-permissions#environments-and-roles). From 372f684ab5e2f76c450d76f673a50598e273a647 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Wed, 13 Nov 2024 18:20:22 -0700 Subject: [PATCH 3/3] Restore deleted terminal screenshot in code demo for unit testing (#6480) ## What are you changing in this pull request and why? Similar to https://github.com/dbt-labs/docs.getdbt.com/pull/5632, restore the other image that was accidentally deleted by https://github.com/dbt-labs/docs.getdbt.com/pull/5615. Once this is merged, all the images should load for this blog post again: https://docs.getdbt.com/blog/announcing-unit-testing ## Checklist - [x] I have reviewed the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) so my content adheres to these guidelines. --- .../unit-test-terminal-output.png | Bin 0 -> 134239 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 website/static/img/blog/2024-05-07-unit-testing/unit-test-terminal-output.png diff --git a/website/static/img/blog/2024-05-07-unit-testing/unit-test-terminal-output.png b/website/static/img/blog/2024-05-07-unit-testing/unit-test-terminal-output.png new file mode 100644 index 0000000000000000000000000000000000000000..9e68587fa6188f758e63097f30a07cd491a3ae37 GIT binary patch literal 134239 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

?3UK+-re4KMSVMJtK0n1Q?My13-O}v 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%0Dd<+Hjc_vJVWC5B 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