Open
Conversation
Contributor
|
Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see the contributing guide. |
|
Thanks for your pull request, and welcome to our community! We require contributors to sign our Contributor License Agreement and we don't seem to have your signature on file. Check out this article for more information on why we have a CLA. In order for us to review and merge your code, please submit the Individual Contributor License Agreement form attached above above. If you have questions about the CLA, or if you believe you've received this message in error, please reach out through a comment on this PR. CLA has not been signed by users: @andeerlb |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://docs.getdbt.com/docs/build/project-variables
Problem
dbt did not support environment-specific or test-specific variable files. All variables had to be managed in a single
vars.ymlordbt_project.yml, making it difficult to isolate configuration for different environments (dev, staging, prod) or for test runs.Solution
vars.ymlandvars_<target>.ymlat the project root. When running dbt with a specific target (via--target), variables fromvars_<target>.ymloverride those invars.ymlfor that environment.tests/vars.ymlandtests/vars_<target>.yml. When runningdbt test, these files are loaded and merged (with target-specific vars taking precedence), and their variables override project-level vars for tests only.dbt test. Other commands (dbt run,dbt build, etc.) are unaffected and ignore the test vars files.Why is this useful?
Allows teams to manage variables for different environments (dev, staging, prod, etc.) in separate files, reducing risk of accidental changes and making configuration clearer.
Enables tests to use their own variables without affecting production runs or requiring changes to project-level vars.
How to use
vars.ymlandvars_<target>.ymlat the project root.tests/vars.ymlandtests/vars_<target>.yml.dbt test, test vars will override project vars for tests only.Checklist