-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Reorganize nodes, node.config in manifest #3557
Comments
Add to list above:
Next steps:
|
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please remove the stale label or comment on the issue, or it will be closed in 7 days. |
Although we are closing this issue as stale, it's not gone forever. Issues can be reopened if there is renewed community interest; add a comment to notify the maintainers. |
Describe the feature
Our work on #2401 promises to rationalize the ways that node configs interact with node-level properties. In the general case, a config should be something set by the user within a file's Jinja
config()
block or in a yaml file (includingdbt_project.yml
). Some of those configs sit inside thenode.config
object, waiting to be accessed within the Jinja context viaconfig.get()
; other configs will be copied over to node-level properties (tags
today,description
andmeta
coming soon).This also gives us the opportunity to rationalize the ways that nodes and their configs are represented today in
manifest.json
:ModelConfig
that inherits from baseNodeConfig
.full_refresh
on models + seeds only.node.config
. (This could trim downmanifest.json
.)node.config
. For simplicity, adapter configs apply to all nodes. (This would add some bulk tomanifest.json
.)incremental_strategy
,unique_key
for models) should be specified in a python dataclass, and their default values stored inmanifest.json
accordingly. (Today,incremental_strategy
default values are set in Jinja macros. It would be amazing, though perhaps more tricky than it's worth, to include the defaultincremental_strategy
config on models that arematerialized: incremental
, and only those models.)analyses
) shouldn't have node configs likematerialized
/database
/schema
. (As of v0.20, tests now use the'test'
materialization, and--store-failures
means they can have an associated database representation, so those configs can be relevant. Again, it would be amazing to set those configs if and only ifstore_failures
is enabled.)nodes
,sources
,macros
,docs
,exposures
(honorable mentions:selectors
,disabled
). Shouldnodes
be split up intomodels
,tests
,seeds
,snapshots
,analyses
?Describe alternatives you've considered
Leaving this in place, with its various inconsistencies and potential for confusion
The text was updated successfully, but these errors were encountered: