-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] Lack of migration path from user configs defined in profiles.yml
to the 'flags' key in dbt_project.yml
#10402
Comments
profiles.yml
to the 'flags' key in dbt_project.ymlprofiles.yml
to the 'flags' key in dbt_project.yml
@wherrmann Appreciate you noticing this and taking the time to bring this to our attention 🤩 Acceptance criteria@jtcohen6, @dataders, and myself discussed this today. We agree with your expected behavior that:
The would allow multiple users of the same dbt project to add Example
config:
use_colors: false
printer_width: 80
flags:
use_colors: true
partial_parse: true After merging values from use_colors: true
partial_parse: true
printer_width: 80 |
We'd backport this into 1.8 (but not earlier since it wouldn't be relevant in earlier versions). |
this just bit me as well. my confusion is that the only user configs in muh_project:
target: dev
outputs:
dev:
type: databricks
method: http
catalog: muh_team_catalog
schema: dev
threads: 8
http_path: /sql/1.0/warehouses/5xxxxxxxxxxx
host: muh-company.cloud.databricks.com
token: "{{ env_var('DATABRICKS_TOKEN') }}" What of this is the 'config' part? I don't think I can eliminate these from profiles.yml and the flags in dbt_project.yml are from the elementary package and if I turn those off it will reduce functionality. edit: Looks like an unrelated issue specific to databricks jobs. When databricks workflow job is improperly configured it provides a default I cant find what that generated databricks profile yaml looks like yet, but when the same project was configured to specify dbt 1.8.6 |
Is this a new bug in dbt-core?
Current Behavior
Initially introduced with #9289 and released with dbt-core v1.8 (though I see from #9183 that it was also backported to 1.6 and 1.7), there isn't a viable migration path for moving from user configs defined in
profiles.yml
to the 'flags' key in dbt_project.yml.The current behavior is that if user configs ARE defined in
profiles.yml
and the 'flags' key is NOT defined dbt_project.yml, dbt will yield this warning:if user configs ARE defined in
profiles.yml
and the 'flags' key is ALSO defined indbt_project.yml
, dbt will yield this error:The issue is that, as mentioned in dbt's documentation,
profiles.yml
is often not part of the dbt project and so not version-controlled:For an organization to make this change, then, each member of the organization would need to update their
profiles.yml
simultaneously with the creation of theflags
key indbt_project.yml
in order to avoid a runtime error.Expected Behavior
My expectation is that setting both user configs defined in
profiles.yml
and the 'flags' key in dbt_project.yml would yield a deprecation warning, with the user config defined inprofiles.yml
being ignored in favor of the 'flags' key indbt_project.yml
. This would allow users to opt-in to the new behavior, as intended, instead of making this, effectively, a hard deprecation for any organization with more than one user.Steps To Reproduce
profiles.yml
:and a 'flags' key in
dbt_project.yml
dbt debug
)Relevant log output
No response
Environment
Which database adapter are you using with dbt?
snowflake
Additional Context
No response
The text was updated successfully, but these errors were encountered: