diff --git a/_redirects b/_redirects index d006373b524..3a9f6e33a2d 100644 --- a/_redirects +++ b/_redirects @@ -274,3 +274,6 @@ https://tutorial.getdbt.com/* https://docs.getdbt.com/:splat 301! /reference/model-selection-syntax/#test-selection-examples /reference/node-selection/test-selection-examples 302 /docs/building-a-dbt-project/building-models/using-custom-database /docs/building-a-dbt-project/building-models/using-custom-databases 302 /dbt-cloud/api /dbt-cloud/api-v2 302 +/reference/project-configs/source-paths /reference/project-configs/model-paths 302 +/reference/project-configs/data-paths /reference/project-configs/seed-paths 302 +/reference/project-configs/modules-paths /reference/project-configs/packages-install-path 302 diff --git a/website/docs/docs/building-a-dbt-project/analyses.md b/website/docs/docs/building-a-dbt-project/analyses.md index ee1acbc92aa..2f67ba33b98 100644 --- a/website/docs/docs/building-a-dbt-project/analyses.md +++ b/website/docs/docs/building-a-dbt-project/analyses.md @@ -7,7 +7,7 @@ id: "analyses" dbt's notion of `models` makes it easy for data teams to version control and collaborate on data transformations. Sometimes though, a certain sql statement doesn't quite fit into the mold of a dbt model. These more "analytical" sql files can be versioned inside of your dbt project using the `analysis` functionality of dbt. -Any `.sql` files found in the `analysis/` directory of a dbt project will be compiled, but not executed. This means that analysts can use dbt functionality like `{{ ref(...) }}` to select from models in an environment-agnostic way. +Any `.sql` files found in the `analyses/` directory of a dbt project will be compiled, but not executed. This means that analysts can use dbt functionality like `{{ ref(...) }}` to select from models in an environment-agnostic way. In practice, an analysis file might look like this (via the [open source Quickbooks models](https://github.com/dbt-labs/quickbooks)): @@ -46,4 +46,4 @@ To compile this analysis into runnable sql, run: dbt compile ``` -Then, look for the compiled SQL file in `target/compiled/{project name}/analysis/running_total_by_account.sql`. This sql can then be pasted into a data visualization tool, for instance. Note that no `running_total_by_account` relation will be materialized in the database as this is an `analysis`, not a `model`. \ No newline at end of file +Then, look for the compiled SQL file in `target/compiled/{project name}/analyses/running_total_by_account.sql`. This sql can then be pasted into a data visualization tool, for instance. Note that no `running_total_by_account` relation will be materialized in the database as this is an `analysis`, not a `model`. \ No newline at end of file diff --git a/website/docs/docs/building-a-dbt-project/documentation.md b/website/docs/docs/building-a-dbt-project/documentation.md index 16b2a36a7ba..bdb65031b9c 100644 --- a/website/docs/docs/building-a-dbt-project/documentation.md +++ b/website/docs/docs/building-a-dbt-project/documentation.md @@ -101,7 +101,7 @@ The events in this table are recorded by \[Snowplow](http://github.com/snowplow/ In the above example, a docs block named `table_events` is defined with some descriptive markdown contents. There is nothing significant about the name `table_events` — docs blocks can be named however you like, as long as the name only contains alphanumeric and underscore characters. ### Placement -Docs blocks should be placed in files with a `.md` file extension. By default, dbt will search in all resource paths for docs blocks (i.e. the combined list of [source-paths](source-paths), [data-paths](data-paths), [analysis-paths](analysis-paths), [macro-paths](macro-paths) and [snapshot-paths](snapshot-paths)) — you can adjust this behavior using the [docs-paths](docs-paths) config. +Docs blocks should be placed in files with a `.md` file extension. By default, dbt will search in all resource paths for docs blocks (i.e. the combined list of [model-paths](model-paths), [seed-paths](seed-paths), [analysis-paths](analysis-paths), [macro-paths](macro-paths) and [snapshot-paths](snapshot-paths)) — you can adjust this behavior using the [docs-paths](docs-paths) config. ### Usage diff --git a/website/docs/docs/building-a-dbt-project/exposures.md b/website/docs/docs/building-a-dbt-project/exposures.md index 1ad998a234f..44cba161b5b 100644 --- a/website/docs/docs/building-a-dbt-project/exposures.md +++ b/website/docs/docs/building-a-dbt-project/exposures.md @@ -22,7 +22,7 @@ Exposures make it possible to define and describe a downstream use of your dbt p ### Declaring an exposure -Exposures are defined in `.yml` files in your `models` directory (as defined by the [`source-paths` config](source-paths)), nested under an `exposures:` key. +Exposures are defined in `.yml` files nested under an `exposures:` key. diff --git a/website/docs/docs/building-a-dbt-project/package-management.md b/website/docs/docs/building-a-dbt-project/package-management.md index 79c7efd6e70..2a2944bc9ab 100644 --- a/website/docs/docs/building-a-dbt-project/package-management.md +++ b/website/docs/docs/building-a-dbt-project/package-management.md @@ -42,7 +42,13 @@ packages: -3. Run `dbt deps` to install the package(s). Packages get installed in the `dbt_modules` directory – by default this directory is ignored by git, to avoid duplicating the source code for the package. + + +- **v1.0.0:** The default [`packages-install-path`](packages-install-path) has been updated to be `dbt_packages` instead of `dbt_modules`. + + + +3. Run `dbt deps` to install the package(s). Packages get installed in the `dbt_packages` directory – by default this directory is ignored by git, to avoid duplicating the source code for the package. ## How do I specify a package? You can specify a package using one of the following methods, depending on where your package is stored. @@ -247,8 +253,8 @@ Check out [dbt Hub](https://hub.getdbt.com) to see the library of published dbt When you update a version or revision in your `packages.yml` file, it isn't automatically updated in your dbt project. You should run `dbt deps` to update the package. You may also need to run a [full refresh](run) of the models in this package. ### Uninstalling a package -When you remove a package from your `packages.yml` file, it isn't automatically deleted from your dbt project, as it still exists in your `dbt_modules/` directory. If you want to completely uninstall a package, you should either: -* delete the package directory in `dbt_modules/`; or +When you remove a package from your `packages.yml` file, it isn't automatically deleted from your dbt project, as it still exists in your `dbt_packages/` directory. If you want to completely uninstall a package, you should either: +* delete the package directory in `dbt_packages/`; or * run `dbt clean` to delete _all_ packages (and any compiled models), followed by `dbt deps`. ### Configuring packages diff --git a/website/docs/docs/building-a-dbt-project/seeds.md b/website/docs/docs/building-a-dbt-project/seeds.md index 9a968e6c195..d540562d74b 100644 --- a/website/docs/docs/building-a-dbt-project/seeds.md +++ b/website/docs/docs/building-a-dbt-project/seeds.md @@ -8,7 +8,7 @@ id: "seeds" * [`seed` command](seed) ## Getting started -Seeds are CSV files in your dbt project (typically in your `data` directory), that dbt can load into your data warehouse using the `dbt seed` command. +Seeds are CSV files in your dbt project (typically in your `seeds` directory), that dbt can load into your data warehouse using the `dbt seed` command. Seeds can be referenced in downstream models the same way as referencing models — by using the `ref` [function](dbt-jinja-functions/ref). @@ -25,9 +25,9 @@ Poor use-cases of dbt seeds: ## Example To load a seed file in your dbt project: -1. Add the file to your `data` directory, with a `.csv` file extension, e.g. `data/country_codes.csv` +1. Add the file to your `seeds` directory, with a `.csv` file extension, e.g. `seeds/country_codes.csv` - + ```text country_code,country_name @@ -62,7 +62,7 @@ Done. PASS=1 ERROR=0 SKIP=0 TOTAL=1 ```sql --- This refers to the table created from data/country_codes.csv +-- This refers to the table created from seeds/country_codes.csv select * from {{ ref('country_codes') }} ``` diff --git a/website/docs/docs/building-a-dbt-project/using-sources.md b/website/docs/docs/building-a-dbt-project/using-sources.md index 98e3eae576a..96b38c6537d 100644 --- a/website/docs/docs/building-a-dbt-project/using-sources.md +++ b/website/docs/docs/building-a-dbt-project/using-sources.md @@ -17,7 +17,7 @@ Sources make it possible to name and describe the data loaded into your warehous ### Declaring a source -Sources are defined in `.yml` files in your `models` directory (as defined by the [`source-paths` config](source-paths)), nested under a `sources:` key. +Sources are defined in `.yml` files nested under a `sources:` key. diff --git a/website/docs/docs/guides/migration-guide/upgrading-to-1-0-0.md b/website/docs/docs/guides/migration-guide/upgrading-to-1-0-0.md index ae603234f9c..9f0c05dd16d 100644 --- a/website/docs/docs/guides/migration-guide/upgrading-to-1-0-0.md +++ b/website/docs/docs/guides/migration-guide/upgrading-to-1-0-0.md @@ -16,9 +16,21 @@ dbt v1.0.0-b1 is currently available. If you have questions or encounter bugs, p ## Breaking changes - The two type of test definitions are now "singular" and "generic" (instead of "data" and "schema", respectively). The `test_type:` selection method accepts `test_type:singular` and `test_type:generic`. (It will also accept test_type:schema and test_type:data for backwards compatibility.) **Not backwards compatible:** The `--data` and `--schema` flags to dbt test are no longer supported, and tests no longer have the tags `'data'` and `'schema'` automatically applied. +- The `packages` argument of [dispatch](dispatch) has been deprecated and will raise an exception when used. +- The "adapter_macro" macro has been deprecated. Instead, use the [dispatch](dispatch) method to find a macro and call the result. +- The `release` arg has been removed from the `execute_macro` method. ## New and changed documentation - [Tests](building-a-dbt-project/tests), [test selection](test-selection-examples), [selection methods](node-selection/methods): Update `test_type:` selection method. Remove references to `--schema` and `--data` flags. - [Parsing](parsing): partial parsing and static parsing have been turned on by default. - [Global configs](global-configs) have been standardized. Related updates to [global CLI flags](global-cli-flags) and [`profiles.yml`](profiles.yml). + +### Elsewhere in Core +- [model-paths](model-paths) have replaced `source-paths` in `dbt-project.yml. +- [seed-paths](seed-paths) have replaced `data-paths` in `dbt-project.yml with a default value of `seeds`. +- The default value of [test-paths](test-paths) has been updated to be the plural `tests`. +- The default value of [analysis-paths](analysis-paths) has been updated to be the plural `analyses`. +- The [packages-install-path](packages-install-path) was updated from `modules-path`. Additionally the default value is now `dbt-packages` instead of `dbt-modules`. You may need to update this value in [`clean-targets`](clean-targets). +- Default for `quote-columns` is now `True` for all adapters other than Snowflake. + diff --git a/website/docs/faqs/configurable-data-path.md b/website/docs/faqs/configurable-data-path.md index bedb3d08f1b..f93d920eb45 100644 --- a/website/docs/faqs/configurable-data-path.md +++ b/website/docs/faqs/configurable-data-path.md @@ -1,16 +1,21 @@ --- -title: Can I store my seeds in a directory other than the `data` directory in my project? +title: Can I store my seeds in a directory other than the `seeds` directory in my project? --- -By default, dbt expects your seed files to be located in the `data` subdirectory + + +- **v1.0.0:** The config 'data-paths' has been deprecated in favor of [`seed-paths`](seed-paths). + + +By default, dbt expects your seed files to be located in the `seeds` subdirectory of your project. -To change this, update the [data-paths](reference/project-configs/data-paths.md) configuration in your `dbt_project.yml` +To change this, update the [seed-paths](reference/project-configs/seed-paths.md) configuration in your `dbt_project.yml` file, like so: ```yml -data-paths: ["seeds"] +seed-paths: ["custom_seeds"] ``` diff --git a/website/docs/faqs/configurable-data-test-path.md b/website/docs/faqs/configurable-data-test-path.md index 526b2cacf29..463937a51fb 100644 --- a/website/docs/faqs/configurable-data-test-path.md +++ b/website/docs/faqs/configurable-data-test-path.md @@ -1,5 +1,5 @@ --- -title: Can I store my data tests in a directory other than the `test` directory in my project? +title: Can I store my data tests in a directory other than the `tests` directory in my project? --- By default, dbt expects your singular test files to be located in the `tests` subdirectory of your project. diff --git a/website/docs/faqs/configurable-model-path.md b/website/docs/faqs/configurable-model-path.md index d674dd76798..46d5521a135 100644 --- a/website/docs/faqs/configurable-model-path.md +++ b/website/docs/faqs/configurable-model-path.md @@ -1,15 +1,17 @@ --- title: Can I store my models in a directory other than the `models` directory in my project? --- +- **v1.0.0:** The config 'source-path' has been deprecated in favor of [`model-paths`](model-paths). + By default, dbt expects your seed files to be located in the `models` subdirectory of your project. -To change this, update the [source-paths](reference/project-configs/source-paths.md) configuration in your `dbt_project.yml` +To change this, update the [model-paths](reference/project-configs/model-paths.md) configuration in your `dbt_project.yml` file, like so: ```yml -source-paths: ["transformations"] +model-paths: ["transformations"] ``` diff --git a/website/docs/faqs/full-refresh-seed.md b/website/docs/faqs/full-refresh-seed.md index d138e3c1f2f..4e0e5575337 100644 --- a/website/docs/faqs/full-refresh-seed.md +++ b/website/docs/faqs/full-refresh-seed.md @@ -26,7 +26,7 @@ Found 0 models, 0 tests, 0 snapshots, 0 analyses, 130 macros, 0 operations, 1 se Completed with 1 error and 0 warnings: -Database Error in seed country_codes (data/country_codes.csv) +Database Error in seed country_codes (seeds/country_codes.csv) 000904 (42000): SQL compilation error: error line 1 at position 62 invalid identifier 'COUNTRY_NAME' @@ -51,7 +51,7 @@ Found 0 models, 0 tests, 0 snapshots, 0 analyses, 149 macros, 0 operations, 1 se Completed with 1 error and 0 warnings: -Database Error in seed country_codes (data/country_codes.csv) +Database Error in seed country_codes (seeds/country_codes.csv) column "country_name" of relation "country_codes" does not exist Done. PASS=0 WARN=0 ERROR=1 SKIP=0 TOTAL=1 diff --git a/website/docs/faqs/schema-yml-name.md b/website/docs/faqs/schema-yml-name.md index bd9e097ede5..e7563caaba2 100644 --- a/website/docs/faqs/schema-yml-name.md +++ b/website/docs/faqs/schema-yml-name.md @@ -7,4 +7,4 @@ No! You can name this file whatever you want (including `whatever_you_want.yml`) Check out the [docs](configs-and-properties) for more information. -¹If you're declaring properties for seeds, snapshots, or macros, you can also place this file in the related directory — `data/`, `snapshots/` and `macros/` respectively. +¹If you're declaring properties for seeds, snapshots, or macros, you can also place this file in the related directory — `seeds/`, `snapshots/` and `macros/` respectively. diff --git a/website/docs/faqs/seed-custom-schemas.md b/website/docs/faqs/seed-custom-schemas.md index bf7ac3d4f84..3031600029e 100644 --- a/website/docs/faqs/seed-custom-schemas.md +++ b/website/docs/faqs/seed-custom-schemas.md @@ -16,7 +16,7 @@ seeds: jaffle_shop: schema: mappings # all seeds in this project will use the mapping schema by default marketing: - schema: marketing # seeds in the `data/mapping/ subdirectory will use the marketing schema + schema: marketing # seeds in the `seeds/mapping/ subdirectory will use the marketing schema ``` diff --git a/website/docs/faqs/testing-seeds.md b/website/docs/faqs/testing-seeds.md index dd5ceb43d20..44b5a3cacc6 100644 --- a/website/docs/faqs/testing-seeds.md +++ b/website/docs/faqs/testing-seeds.md @@ -8,7 +8,7 @@ To test and document seeds, use a [schema file](configs-and-properties) and nest ## Example: - + ```yml version: 2 diff --git a/website/docs/reference/analysis-properties.md b/website/docs/reference/analysis-properties.md index 05b261b6044..b1b2aba707f 100644 --- a/website/docs/reference/analysis-properties.md +++ b/website/docs/reference/analysis-properties.md @@ -2,9 +2,7 @@ title: Analysis properties --- -Analysis properties can be declared in `.yml` files in: -- your `analyses/` directory (as defined by the [`analysis-paths` config](analysis-paths)) -- your `models/` directory (as defined by the [`source-paths` config](source-paths)) +We highly encourage you to define analysis properties in your `analyses/` directory (as defined by the [`analysis-paths` config](analysis-paths)). You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `analyses/` or `models/` directory. diff --git a/website/docs/reference/artifacts/manifest-json.md b/website/docs/reference/artifacts/manifest-json.md index be061a9fb96..94b29f4c2a5 100644 --- a/website/docs/reference/artifacts/manifest-json.md +++ b/website/docs/reference/artifacts/manifest-json.md @@ -40,7 +40,7 @@ All resources nested within `nodes`, `sources`, `exposures`, `macros`, and `docs - `unique_id`: `..`, same as dictionary key - `package_name`: Name of package that defines this resource. - `root_path`: Absolute file path of this resource's package. -- `path`: Relative file path of this resource's definition within its "resource path" (`source-paths`, `data-paths`, etc.). +- `path`: Relative file path of this resource's definition within its "resource path" (`model-paths`, `seed-paths`, etc.). - `original_file_path`: Relative file path of this resource's definition, including its resource path. Each has several additional properties related to its resource type. diff --git a/website/docs/reference/commands/clean.md b/website/docs/reference/commands/clean.md index f7ee7eb93ab..9e063fbe4cf 100644 --- a/website/docs/reference/commands/clean.md +++ b/website/docs/reference/commands/clean.md @@ -3,4 +3,10 @@ title: "clean" id: "clean" --- -`dbt clean` is a utility function that deletes all folders specified in the `clean-targets` list specified in `dbt_project.yml`. This is useful for deleting the `dbt_modules` and `target` directories. \ No newline at end of file + + +- **v1.0.0:** `dbt_modules` has been replaced by `dbt_packages` by default for the [clean-target](clean-targets) for packages. + + + +`dbt clean` is a utility function that deletes all folders specified in the `clean-targets` list specified in `dbt_project.yml`. This is useful for deleting the `dbt_packages` and `target` directories. \ No newline at end of file diff --git a/website/docs/reference/commands/seed.md b/website/docs/reference/commands/seed.md index 5bafc8596a8..3a0227d8cbd 100644 --- a/website/docs/reference/commands/seed.md +++ b/website/docs/reference/commands/seed.md @@ -3,7 +3,14 @@ title: "seed" id: "seed" --- -The `dbt seed` command will load `csv` files located in the `data-paths` directory of your dbt project into your data warehouse. + + +- **v1.0.0:** The default config for this command will now be `seed-paths` instead of `data-paths`. + + + + +The `dbt seed` command will load `csv` files located in the `seed-paths` directory of your dbt project into your data warehouse. ### Selecting seeds to run diff --git a/website/docs/reference/config-datatypes.yml b/website/docs/reference/config-datatypes.yml index 49ac709ca93..d2e51438b17 100644 --- a/website/docs/reference/config-datatypes.yml +++ b/website/docs/reference/config-datatypes.yml @@ -8,7 +8,7 @@ description: A valid semantic version number, for example, 0.0.1 - name: directorypath - description: A valid path to a directory, relative to the `dbt_project.yml` file. For example, `data` would point to a subdirectory named `data` + description: A valid path to a directory, relative to the `dbt_project.yml` file. For example, `seeds` would point to a subdirectory named `seeds` - name: [directorypath] description: An array of directory paths diff --git a/website/docs/reference/configs-and-properties.md b/website/docs/reference/configs-and-properties.md index 40e77752392..09b3ac51220 100644 --- a/website/docs/reference/configs-and-properties.md +++ b/website/docs/reference/configs-and-properties.md @@ -50,19 +50,9 @@ Most configurations are "clobbered" when applied hierarchically. Whenever a more In dbt, properties are declared in `.yml` files, in the same directory as your resources. -| Resource | Default directory | Defined by | -|-----------|---------------------------|------------------------------| -| models | `models/` | [source-paths](source-paths) | -| sources | `models/` | [source-paths](source-paths) | -| exposures | `models/` | [source-paths](source-paths) | -| seeds | `data/` or `models/` | [data-paths](data-paths) | -| snapshots | `snapshots/` or `models/` | [snapshot-paths](snapshot-paths) | -| analyses | `analyses/` or `models/` | [analysis-paths](analysis-paths) | -| macros | `macros/` or `models/` | [macro-paths](macro-paths) | - You can name these files `whatever_you_want.yml` and nest them arbitrarily deeply in subfolders within each directory. -(For backwards compatibility, the `models/` directory also supports seed, snapshot, analysis, and macro properties. We highly recommend that you define properties in dedicated paths alongside the resources they're describing.) +We highly recommend that you define properties in dedicated paths alongside the resources they're describing. :::info diff --git a/website/docs/reference/dbt-jinja-functions/dispatch.md b/website/docs/reference/dbt-jinja-functions/dispatch.md index 1843138e8af..2a382f4beb3 100644 --- a/website/docs/reference/dbt-jinja-functions/dispatch.md +++ b/website/docs/reference/dbt-jinja-functions/dispatch.md @@ -8,6 +8,7 @@ title: "dispatch" - **v0.19.2:** Limited rendering context for `dispatch` arguments. Includes backwards compatibility for widely used packages. - **v0.20.0:** Parent adapters' macro implementations are included in search order. Formalized supported arguments. - **v0.21.0:** All dispatched macros in the dbt global project include `dbt` namespace +- **v1.0.0:** The 'packages' argument is fully deprecated. Use `macro_namespace` and project-level `dispatch` config instead. @@ -19,7 +20,6 @@ __Args__: * `macro_name` [required]: Name of macro to dispatch. Must be a string literal. * `macro_namespace` [optional]: Namespace (package) of macro to dispatch. Must be a string literal. - * `packages` [DEPRECATED]: List of packages to search for implementations. Use `macro_namespace` and project-level `dispatch` config instead. __Usage__: diff --git a/website/docs/reference/dbt_project.yml.md b/website/docs/reference/dbt_project.yml.md index c4871d31142..2dfe76f2e6c 100644 --- a/website/docs/reference/dbt_project.yml.md +++ b/website/docs/reference/dbt_project.yml.md @@ -1,3 +1,9 @@ + + +- **v1.0.0:** The default config name for `data-paths` is now [`seed-paths`](seed-paths), `source-paths` is now [`model-paths`](model-paths) and `modules-path` is now [`packages-install-path`](packages-install-path). + + + Every [dbt project](projects) needs a `dbt_project.yml` file — this is how dbt knows a directory is a dbt project. It also contains important information that tells dbt how to operate on your project. The following is a list of all available configurations in the `dbt_project.yml` file. @@ -16,8 +22,8 @@ dbt uses YAML in a few different places. If you're new to YAML, it would be wort [profile](project-configs/profile): profilename -[source-paths](project-configs/source-paths): [directorypath] -[data-paths](project-configs/data-paths): [directorypath] +[model-paths](project-configs/model-paths): [directorypath] +[seed-paths](project-configs/seed-paths): [directorypath] [test-paths](project-configs/test-paths): [directorypath] [analysis-paths](project-configs/analysis-paths): [directorypath] [macro-paths](project-configs/macro-paths): [directorypath] @@ -27,7 +33,7 @@ dbt uses YAML in a few different places. If you're new to YAML, it would be wort [target-path](project-configs/target-path): directorypath [log-path](project-configs/log-path): directorypath -[modules-path](project-configs/modules-path): directorypath +[packages-install-path](project-configs/packages-install-path): directorypath [clean-targets](project-configs/clean-targets): [directorypath] diff --git a/website/docs/reference/exposure-properties.md b/website/docs/reference/exposure-properties.md index 71431896aab..6593caf3b9e 100644 --- a/website/docs/reference/exposure-properties.md +++ b/website/docs/reference/exposure-properties.md @@ -13,7 +13,7 @@ title: Exposure properties - [Declaring resource properties](configs-and-properties) ## Overview -Exposures are defined in `.yml` files in your `models` directory (as defined by the [`source-paths` config](source-paths)), nested under an `exposures:` key. You may define `exposures` in YAML files that also define define `sources` or `models`. +Exposures are defined in `.yml` files nested under an `exposures:` key. You may define `exposures` in YAML files that also define define `sources` or `models`. You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory. diff --git a/website/docs/reference/macro-properties.md b/website/docs/reference/macro-properties.md index e5dfca06d17..19a1b4e4890 100644 --- a/website/docs/reference/macro-properties.md +++ b/website/docs/reference/macro-properties.md @@ -2,11 +2,9 @@ title: Macro properties --- -Macro properties can be declared in `.yml` files in: -- your `macros/` directory (as defined by the [`macro-paths` config](macro-paths)) -- your `models/` directory (as defined by the [`source-paths` config](source-paths)) +Macro properties can be declared in `.yml` files. -You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `macros/` or `models/` directory. +You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders. diff --git a/website/docs/reference/model-properties.md b/website/docs/reference/model-properties.md index e413086199d..5375cbd3bed 100644 --- a/website/docs/reference/model-properties.md +++ b/website/docs/reference/model-properties.md @@ -6,7 +6,7 @@ title: Model properties - **v0.21.0** introduced the `config` property, thereby allowing you to configure models in all `.yml` files -Models properties can be declared in `.yml` files in your `models/` directory (as defined by the [`source-paths` config](source-paths)). +Models properties can be declared in `.yml` files in your `models/` directory (as defined by the [`model-paths` config](model-paths)). You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory. diff --git a/website/docs/reference/project-configs/analysis-paths.md b/website/docs/reference/project-configs/analysis-paths.md index ccc42ccf692..0597a22c2c5 100644 --- a/website/docs/reference/project-configs/analysis-paths.md +++ b/website/docs/reference/project-configs/analysis-paths.md @@ -17,27 +17,26 @@ Specify a custom list of directories where [analyses](analyses) are located. ## Default Without specifying this config, dbt will not compile any `.sql` files as analyses. -However, the [`dbt init` command](init) populates this value as `analysis` ([source](https://github.com/dbt-labs/dbt-starter-project/blob/master/dbt_project.yml#L15)) +However, the [`dbt init` command](init) populates this value as `analyses` ([source](https://github.com/dbt-labs/dbt-starter-project/blob/HEAD/dbt_project.yml#L15)) ## Examples -### Use a subdirectory named `analysis` +### Use a subdirectory named `analyses` This is the value populated by the [`dbt init` command](init). ```yml -analysis-paths: ["analysis"] +analysis-paths: ["analyses"] ``` -### Use a subdirectory named `analyses` -A good idea if you want to be consistent in your use of plural directory names. +### Use a subdirectory named `custom_analyses` ```yml -analysis-paths: ["analyses"] +analysis-paths: ["custom_analyses"] ``` diff --git a/website/docs/reference/project-configs/clean-targets.md b/website/docs/reference/project-configs/clean-targets.md index ca178fc2729..a8b9e2f8f14 100644 --- a/website/docs/reference/project-configs/clean-targets.md +++ b/website/docs/reference/project-configs/clean-targets.md @@ -3,6 +3,12 @@ datatype: [directorypath] default_value: [target_path] --- + + +- **v1.0.0:** The `modules-path` has been updated to be [`packages-install-path`](packages-install-path). The default value has also been updated to be `dbt-packages` from `dbt-modules`. + + + ```yml @@ -23,23 +29,23 @@ If this configuration is not included in your `dbt_project.yml` file, the `clean :::info This is our preferred configuration ::: -To remove packages as well as compiled files, include the value of your [modules-path](modules-path) configuration in your `clean-targets` configuration. +To remove packages as well as compiled files, include the value of your [packages-install-path](packages-install-path) configuration in your `clean-targets` configuration. ```yml clean-targets: - target - - dbt_modules + - dbt_packages ``` Now, run `dbt clean`. -Both the `target` and `dbt_modules` directory will be removed. +Both the `target` and `dbt_packages` directory will be removed. -Note: this is the configuration in the dbt [starter project](https://github.com/dbt-labs/dbt-starter-project/blob/master/dbt_project.yml), which is generated by the `init` command. +Note: this is the configuration in the dbt [starter project](https://github.com/dbt-labs/dbt-starter-project/blob/HEAD/dbt_project.yml), which is generated by the `init` command. ### Remove `logs` when running `dbt clean` @@ -47,7 +53,7 @@ Note: this is the configuration in the dbt [starter project](https://github.com/ ```yml -clean-targets: [target, dbt_modules, logs] +clean-targets: [target, dbt_packages, logs] ``` diff --git a/website/docs/reference/project-configs/docs-paths.md b/website/docs/reference/project-configs/docs-paths.md index 73a3e7b39ad..8bb681596bd 100644 --- a/website/docs/reference/project-configs/docs-paths.md +++ b/website/docs/reference/project-configs/docs-paths.md @@ -16,7 +16,7 @@ Optionally specify a custom list of directories where [docs blocks](documentatio ## Default -By default, dbt will search in all resource paths for docs blocks (i.e. the combined list of [source-paths](source-paths), [data-paths](data-paths), [analysis-paths](analysis-paths), [macro-paths](macro-paths) and [snapshot-paths](snapshot-paths)). If this option is configured, dbt will _only_ look in the specified directory for docs blocks. +By default, dbt will search in all resource paths for docs blocks (i.e. the combined list of [model-paths](model-paths), [seed-paths](seed-paths), [analysis-paths](analysis-paths), [macro-paths](macro-paths) and [snapshot-paths](snapshot-paths)). If this option is configured, dbt will _only_ look in the specified directory for docs blocks. ## Examples diff --git a/website/docs/reference/project-configs/source-paths.md b/website/docs/reference/project-configs/model-paths.md similarity index 67% rename from website/docs/reference/project-configs/source-paths.md rename to website/docs/reference/project-configs/model-paths.md index 36b1f91408d..1e429da5360 100644 --- a/website/docs/reference/project-configs/source-paths.md +++ b/website/docs/reference/project-configs/model-paths.md @@ -2,10 +2,16 @@ datatype: [directorypath] default_value: [models] --- + + +- **v1.0.0:** The config `source-paths` has been deprecated in favor of `model-paths`. + + + ```yml -source-paths: [directorypath] +model-paths: [directorypath] ``` @@ -14,7 +20,7 @@ source-paths: [directorypath] Optionally specify a custom list of directories where [models](building-models) and [sources](using-sources) are located. ## Default -By default, dbt will search for models and sources in the `models` directory, i.e. `source-paths: ["models"]` +By default, dbt will search for models and sources in the `models` directory, i.e. `model-paths: ["models"]` ## Examples ### Use a subdirectory named `transformations` instead of `models` @@ -22,7 +28,7 @@ By default, dbt will search for models and sources in the `models` directory, i. ```yml -source-paths: ["transformations"] +model-paths: ["transformations"] ``` diff --git a/website/docs/reference/project-configs/modules-path.md b/website/docs/reference/project-configs/packages-install-path.md similarity index 55% rename from website/docs/reference/project-configs/modules-path.md rename to website/docs/reference/project-configs/packages-install-path.md index 255301a3425..4798a02831a 100644 --- a/website/docs/reference/project-configs/modules-path.md +++ b/website/docs/reference/project-configs/packages-install-path.md @@ -1,11 +1,18 @@ --- datatype: directorypath -default_value: modules +default_value: dbt_packages --- + + + +- **v1.0.0:** The default config has changed from `modules-path` to `packages-install-path` with a new default value of `dbt_packages`. + + + ```yml -modules-path: directorypath +packages-install-path: directorypath ``` @@ -14,10 +21,10 @@ modules-path: directorypath Optionally specify a custom directory where [packages](package-management) are installed when you run the `dbt deps` [command](deps). Note that this directory is usually git-ignored. ## Default -By default, dbt will install packages in the `dbt_modules` directory, i.e. `modules-path: dbt_modules` +By default, dbt will install packages in the `dbt_packages` directory, i.e. `packages-install-path: dbt_packages` ## Examples -### Install packages in a subdirectory named `packages` instead of `dbt_modules` +### Install packages in a subdirectory named `packages` instead of `dbt_packages` diff --git a/website/docs/reference/project-configs/data-paths.md b/website/docs/reference/project-configs/seed-paths.md similarity index 60% rename from website/docs/reference/project-configs/data-paths.md rename to website/docs/reference/project-configs/seed-paths.md index 3f1afbc08c9..34048982321 100644 --- a/website/docs/reference/project-configs/data-paths.md +++ b/website/docs/reference/project-configs/seed-paths.md @@ -2,10 +2,17 @@ datatype: [directorypath] default_value: [data] --- + + + +- **v1.0.0:** The config `data-paths` has been deprecated in favor of `seed-paths`. + + + ```yml -data-paths: [directorypath] +seed-paths: [directorypath] ``` @@ -15,15 +22,15 @@ Optionally specify a custom list of directories where [seed](docs/building-a-dbt ## Default -By default, dbt expects analyses to be located in the `data` directory, i.e. `data-paths: ["data"]` +By default, dbt expects analyses to be located in the `seeds` directory, i.e. `seed-paths: ["seeds"]` ## Examples -### Use a subdirectory named `seeds` instead of `data` +### Use a subdirectory named `custom_seeds` instead of `seeds` ```yml -data-paths: ["seeds"] +seed-paths: ["custom_seeds"] ``` @@ -34,19 +41,19 @@ Note: this works because dbt is looking for different file types for seeds (`.cs ```yml -data-paths: ["models"] -source-paths: ["models"] +seed-paths: ["models"] +model-paths: ["models"] ``` ### Split your seeds across two directories -Note: We recommend that you instead use two subdirectories within the `data/` directory to achieve a similar effect. +Note: We recommend that you instead use two subdirectories within the `seeds/` directory to achieve a similar effect. ```yml -data-paths: ["data", "seeds"] +seed-paths: ["seeds", "custom_seeds"] ``` diff --git a/website/docs/reference/project-configs/test-paths.md b/website/docs/reference/project-configs/test-paths.md index 027687adf9e..c3476d4de3f 100644 --- a/website/docs/reference/project-configs/test-paths.md +++ b/website/docs/reference/project-configs/test-paths.md @@ -14,18 +14,15 @@ test-paths: [directorypath] Optionally specify a custom list of directories where [data tests](docs/building-a-dbt-project/tests#data-tests) are located. ## Default -Without specifying this config, dbt will search for data tests in the `test` directory, i.e. `test-paths: ["test"]`. - -However, the [`dbt init` command](init) sets most projects to use `test-paths: ["tests"]` — check your `dbt_project.yml` file to see if a value is set for your project. +Without specifying this config, dbt will search for data tests in the `tests` directory, i.e. `test-paths: ["tests"]`. ## Examples -### Use a subdirectory named `tests` instead of `test` for data tests -This is the value generated by the [`dbt init` command](init) ([source](https://github.com/dbt-labs/dbt-starter-project/blob/master/dbt_project.yml#L16)). +### Use a subdirectory named `custom_tests` instead of `tests` for data tests ```yml -test-paths: ["tests"] +test-paths: ["custom_tests"] ``` diff --git a/website/docs/reference/resource-configs/alias.md b/website/docs/reference/resource-configs/alias.md index 0fdc3f89583..a207b6e5129 100644 --- a/website/docs/reference/resource-configs/alias.md +++ b/website/docs/reference/resource-configs/alias.md @@ -26,7 +26,7 @@ To learn more about changing the way that dbt generates a relation's `identifier ### Seeds Configure a seed's alias in your `dbt_project.yml` file. -The seed at `data/country_codes.csv` will be built as a table named `country_mappings`. +The seed at `seeds/country_codes.csv` will be built as a table named `country_mappings`. diff --git a/website/docs/reference/resource-configs/column_types.md b/website/docs/reference/resource-configs/column_types.md index e81abaf0bbc..b902e0cd9f5 100644 --- a/website/docs/reference/resource-configs/column_types.md +++ b/website/docs/reference/resource-configs/column_types.md @@ -42,7 +42,7 @@ seeds: If you have previously run `dbt seed`, you'll need to run `dbt seed --full-refresh` for the changes to take effect. -Note that you will need to use the fully directory path of a seed when configuring `column_types`. For example, for a seed file at `data/marketing/utm_mappings.csv`, you will need to configure it like so: +Note that you will need to use the fully directory path of a seed when configuring `column_types`. For example, for a seed file at `seeds/marketing/utm_mappings.csv`, you will need to configure it like so: diff --git a/website/docs/reference/resource-configs/meta.md b/website/docs/reference/resource-configs/meta.md index 31213bf619a..73823f81f3f 100644 --- a/website/docs/reference/resource-configs/meta.md +++ b/website/docs/reference/resource-configs/meta.md @@ -77,7 +77,7 @@ sources: - + ```yml version: 2 diff --git a/website/docs/reference/resource-configs/quote_columns.md b/website/docs/reference/resource-configs/quote_columns.md index b8e0371415f..5ffbedc7a4e 100644 --- a/website/docs/reference/resource-configs/quote_columns.md +++ b/website/docs/reference/resource-configs/quote_columns.md @@ -30,10 +30,10 @@ seeds: -### Only quote seeds in the `data/mappings` directory. +### Only quote seeds in the `seeds/mappings` directory. For a project with: * `name: jaffle_shop` in the `dbt_project.yml` file -* `data-paths: ["data"]` in the `dbt_project.yml` file +* `seed-paths: ["seeds"]` in the `dbt_project.yml` file diff --git a/website/docs/reference/resource-properties/columns.md b/website/docs/reference/resource-properties/columns.md index 375573acb45..ab001533c9a 100644 --- a/website/docs/reference/resource-properties/columns.md +++ b/website/docs/reference/resource-properties/columns.md @@ -69,7 +69,7 @@ sources: - + ```yml version: 2 diff --git a/website/docs/reference/resource-properties/config.md b/website/docs/reference/resource-properties/config.md index 166775a6145..7d251329a0c 100644 --- a/website/docs/reference/resource-properties/config.md +++ b/website/docs/reference/resource-properties/config.md @@ -37,7 +37,7 @@ models: - + ```yml version: 2 diff --git a/website/docs/reference/resource-properties/description.md b/website/docs/reference/resource-properties/description.md index f47e3334de6..44e39fed624 100644 --- a/website/docs/reference/resource-properties/description.md +++ b/website/docs/reference/resource-properties/description.md @@ -63,7 +63,7 @@ sources: - + ```yml version: 2 diff --git a/website/docs/reference/resource-properties/docs.md b/website/docs/reference/resource-properties/docs.md index 329923fcb34..feee1081324 100644 --- a/website/docs/reference/resource-properties/docs.md +++ b/website/docs/reference/resource-properties/docs.md @@ -41,7 +41,7 @@ This property is not implemented for sources. - + ```yml version: 2 diff --git a/website/docs/reference/resource-properties/quote.md b/website/docs/reference/resource-properties/quote.md index 32a3930990c..2fd0e65274b 100644 --- a/website/docs/reference/resource-properties/quote.md +++ b/website/docs/reference/resource-properties/quote.md @@ -55,7 +55,7 @@ sources: - + ```yml version: 2 diff --git a/website/docs/reference/resource-properties/tests.md b/website/docs/reference/resource-properties/tests.md index cac9f56d5cf..0be881d80c8 100644 --- a/website/docs/reference/resource-properties/tests.md +++ b/website/docs/reference/resource-properties/tests.md @@ -78,7 +78,7 @@ sources: - + ```yml version: 2 diff --git a/website/docs/reference/seed-configs.md b/website/docs/reference/seed-configs.md index df26bf84397..aa5e95ecff9 100644 --- a/website/docs/reference/seed-configs.md +++ b/website/docs/reference/seed-configs.md @@ -178,7 +178,7 @@ seeds: -In older versions of dbt, you must define configurations in `dbt_project.yml` and include the full resource path (including the project name, and subdirectories). For a project named `jaffle_shop`, with a seed file at `data/marketing/utm_parameters.csv`, this would look like: +In older versions of dbt, you must define configurations in `dbt_project.yml` and include the full resource path (including the project name, and subdirectories). For a project named `jaffle_shop`, with a seed file at `seeds/marketing/utm_parameters.csv`, this would look like: @@ -196,8 +196,8 @@ seeds: ## Example seed configuration The following is a valid seed configuration for a project with: * `name: jaffle_shop` -* A seed file at `data/country_codes.csv`, and -* A seed file at `data/marketing/utm_parameters.csv` +* A seed file at `seeds/country_codes.csv`, and +* A seed file at `seeds/marketing/utm_parameters.csv` @@ -209,7 +209,7 @@ seeds: jaffle_shop: +enabled: true +schema: seed_data - # This configures data/country_codes.csv + # This configures seeds/country_codes.csv country_codes: # Override column types +column_types: diff --git a/website/docs/reference/seed-properties.md b/website/docs/reference/seed-properties.md index e82dd5e0b09..a8f9ad02585 100644 --- a/website/docs/reference/seed-properties.md +++ b/website/docs/reference/seed-properties.md @@ -4,15 +4,14 @@ title: Seed properties - **v0.21.0** introduced the `config` property, thereby allowing you to configure seeds in all `.yml` files + - **v1.0.0:** The default path for [`seed-paths`](seed-paths) (formerly `data-paths`) is now `seeds`. -Seed properties can be declared in `.yml` files in: -- your `data/` directory (as defined by the [`data-paths` config](data-paths)) -- your `models/` directory (as defined by the [`source-paths` config](source-paths)), for backwards compatibility +Seed properties can be declared in `.yml` files under a `seed` key. -We recommend that you put them in the `data/` directory. You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within that directory. +We recommend that you put them in the `seeds/` directory. You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within that directory. - + ```yml version: 2 diff --git a/website/docs/reference/snapshot-properties.md b/website/docs/reference/snapshot-properties.md index f4e918fce83..f35e08277b1 100644 --- a/website/docs/reference/snapshot-properties.md +++ b/website/docs/reference/snapshot-properties.md @@ -8,7 +8,7 @@ title: Snapshot properties Snapshots properties can be declared in `.yml` files in: - your `snapshots/` directory (as defined by the [`snapshot-paths` config](snapshot-paths)) -- your `models/` directory (as defined by the [`source-paths` config](source-paths)) +- your `models/` directory (as defined by the [`model-paths` config](model-paths)) We recommend that you put them in the `snapshots/` directory. You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `snapshots/` or `models/` directory. diff --git a/website/docs/reference/source-properties.md b/website/docs/reference/source-properties.md index fbce6486052..118964809e4 100644 --- a/website/docs/reference/source-properties.md +++ b/website/docs/reference/source-properties.md @@ -7,7 +7,7 @@ title: Source properties - [Declaring resource properties](configs-and-properties) ## Overview -Source properties can be declared in `.yml` files in your `models/` directory (as defined by the [`source-paths` config](source-paths)). +Source properties can be declared in `.yml` files in your `models/` directory (as defined by the [`model-paths` config](model-paths)). You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory. diff --git a/website/docs/tutorial/add-a-seed.md b/website/docs/tutorial/add-a-seed.md index e37909d4d55..7561508d2a8 100644 --- a/website/docs/tutorial/add-a-seed.md +++ b/website/docs/tutorial/add-a-seed.md @@ -10,7 +10,7 @@ complete this lesson 1. Add a seed file: - + ```text country_code,country_name diff --git a/website/docs/tutorial/using-jinja.md b/website/docs/tutorial/using-jinja.md index 0d297f6d7ce..3acf0e10b4c 100644 --- a/website/docs/tutorial/using-jinja.md +++ b/website/docs/tutorial/using-jinja.md @@ -5,7 +5,7 @@ id: "using-jinja" In this tutorial, we're going to take a common pattern used in SQL, and then use Jinja to improve our code. -If you'd like to work through this query, add [this CSV](https://github.com/dbt-labs/jaffle_shop/blob/master/data/raw_payments.csv) to the `data/` folder of your dbt project, and then execute `dbt seed`. +If you'd like to work through this query, add [this CSV](https://github.com/dbt-labs/jaffle_shop/blob/core-v1.0.0/seeds/raw_payments.csv) to the `seeds/` folder of your dbt project, and then execute `dbt seed`. While working through the steps of this model, we recommend that you have your compiled SQL open as well, to check what your Jinja compiles to. To do this: * **Using dbt Cloud:** Click the compile button to see the compiled SQL in the right hand pane diff --git a/website/sidebars.js b/website/sidebars.js index cae7ce12daa..6f2c998e3a0 100755 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -242,12 +242,12 @@ module.exports = { "reference/project-configs/asset-paths", "reference/project-configs/clean-targets", "reference/project-configs/config-version", - "reference/project-configs/data-paths", + "reference/project-configs/seed-paths", "reference/project-configs/dispatch-config", "reference/project-configs/docs-paths", "reference/project-configs/log-path", "reference/project-configs/macro-paths", - "reference/project-configs/modules-path", + "reference/project-configs/packages-install-path", "reference/project-configs/name", "reference/project-configs/on-run-start-on-run-end", "reference/project-configs/profile", @@ -255,7 +255,7 @@ module.exports = { "reference/project-configs/quoting", "reference/project-configs/require-dbt-version", "reference/project-configs/snapshot-paths", - "reference/project-configs/source-paths", + "reference/project-configs/model-paths", "reference/project-configs/target-path", "reference/project-configs/test-paths", "reference/project-configs/version",