does dbt-loom solve upstream dependencies only? #85
-
hi :) would it be accurate to say that the cross-project dependency supported by dbt-loom is one directional? in the sense that the parent project will not be aware that the child project is refencing it? i'm looking at this from the perspective of the one who maintains the parent project (A) - how to prevent from breaking the child project(s)? how to gain visibility into downstream dependencies on other projects? thanks |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hey @eshetben! Thanks for reaching out. It is 100% accurate to say that the cross-project referencing support enabled by dbt-loom is one-directional. Public models are assumed to be public to any valid downstream consumer at a dbt-core level. In order to have a full view of the multi-project lineage, one would need to have an external system that incorporates information from all downstream projects. This information could then be used to construct lineage at a project level. dbt Cloud currently enables this, as do other dbt-core hosting services w/ multi-project support. A scrappy engineer might also be able to piece the lineage together if their projects have a consistent method for storing/distributing project artifacts.
This is an excellent question! I am of the opinion that one can go a long way by using model contracts, model versions, and unit tests to confirm/govern their project's functionality and structure. The dbt-meshify tool will likely be your friend if you choose to go that route. |
Beta Was this translation helpful? Give feedback.
Hey @eshetben! Thanks for reaching out.
It is 100% accurate to say that the cross-project referencing support enabled by dbt-loom is one-directional. Public models are assumed to be public to any valid downstream consumer at a dbt-core level.
In order to have a full view of the multi-project lineage, one would need to have an external system that incorporates information from all downstream projects. This information could then be used to construct lineage at a project level. dbt Cloud currently enables this, as do other dbt-core hosting services w/ multi-project support. A scrappy engineer might also be able to piece the lineage together if their projects have a consistent method for sto…