Let's get rid of the source
call!
#5910
Replies: 4 comments 2 replies
-
It would probably be possible, but yeah, a fair amount of work. This brings up something else that I've been wondering about, which is that we put "nodes" into different dictionaries in the manifest, nodes, sources, metrics, exposures, disabled. Maybe we could just put everything into one "nodes" dictionary? |
Beta Was this translation helpful? Give feedback.
-
I'm wondering if we shouldn't wait until we unpack "multi-project deployments (1.5+)" to touch the ergonomics of interacting with external resources. But then, absolutely yes. |
Beta Was this translation helpful? Give feedback.
-
I'm tentatively negative on it, but might be wrong. Here's what I'm thinking:
If I instead made my staging model like this: -- model_1.sql, materialized into the analytics schema
select * from {{ ref('raw.source_table') }} It might feel natural to then go and do this in an intermediate model/mart: select * from {{ ref('analytics.model_1') }} Admittedly, this will fail because you don't have The reason Im going down this line of thought: when I made my first snapshots, I tried to define them as sources because I didn't know that I could just ref them. It felt wrong, but I couldn't work out what to do instead. This feels somewhat similar. |
Beta Was this translation helpful? Give feedback.
-
IMHO we need the Ideally, in the future DBT deploys a feature that handles |
Beta Was this translation helpful? Give feedback.
-
I've wondered for a long time why sources are so special that they need their own jinja function to reference them.
Instead of something like:
Why not just:
Or even:
Note: I know we have a 2 arg ref already for handling abiguous model names across packages, but maybe we can move that to a 3rd positional argument and make room for source refs to thrive!
Pros:
Cons:
What do you think? Am I just being a baby?
Beta Was this translation helpful? Give feedback.
All reactions