@@ -259,15 +259,27 @@ def _context_for_dependencies(
259259 ) -> DbtContext :
260260 model_context = context .copy ()
261261
262- model_context .sources = {
263- name : value for name , value in context .sources .items () if name in dependencies .sources
264- }
265- model_context .seeds = {
266- name : value for name , value in context .seeds .items () if name in dependencies .refs
267- }
268- model_context .models = {
269- name : value for name , value in context .models .items () if name in dependencies .refs
270- }
262+ models = {}
263+ seeds = {}
264+ sources = {}
265+
266+ for ref in self ._dependencies .refs :
267+ if ref in context .seeds :
268+ seeds [ref ] = context .seeds [ref ]
269+ elif ref in context .models :
270+ models [ref ] = context .models [ref ]
271+ else :
272+ raise ConfigError (f"Model '{ ref } ' was not found for model '{ self .table_name } '." )
273+
274+ for source in self ._dependencies .sources :
275+ if source in context .sources :
276+ sources [source ] = context .sources [source ]
277+ else :
278+ raise ConfigError (f"Source '{ source } ' was not found for model '{ self .table_name } '." )
279+
280+ model_context .sources = sources
281+ model_context .seeds = seeds
282+ model_context .models = models
271283 model_context .variables = {
272284 name : value
273285 for name , value in context .variables .items ()
@@ -365,16 +377,8 @@ def _extract_value(node: t.Any) -> t.Any:
365377 return config
366378
367379 def _ref (self , package_name : str , model_name : t .Optional [str ] = None ) -> BaseRelation :
368- if package_name in self .context .models :
369- relation = BaseRelation .create (** self .context .models [package_name ].relation_info )
370- elif package_name in self .context .seeds :
371- relation = BaseRelation .create (** self .context .seeds [package_name ].relation_info )
372- else :
373- raise ConfigError (
374- f"Model '{ package_name } ' was not found for model '{ self .config .table_name } '."
375- )
376380 self ._captured_dependencies .refs .add (package_name )
377- return relation
381+ return BaseRelation . create ()
378382
379383 def _var (self , name : str , default : t .Optional [str ] = None ) -> t .Any :
380384 if default is None and name not in self .context .variables :
@@ -386,12 +390,8 @@ def _var(self, name: str, default: t.Optional[str] = None) -> t.Any:
386390
387391 def _source (self , source_name : str , table_name : str ) -> BaseRelation :
388392 full_name = "." .join ([source_name , table_name ])
389- if full_name not in self .context .sources :
390- raise ConfigError (
391- f"Source '{ full_name } ' was not found for model '{ self .config .table_name } '."
392- )
393393 self ._captured_dependencies .sources .add (full_name )
394- return BaseRelation .create (** self . context . sources [ full_name ]. relation_info )
394+ return BaseRelation .create ()
395395
396396 class TrackingAdapter (ParsetimeAdapter ):
397397 def __init__ (self , outer_self : ModelSqlRenderer , * args : t .Any , ** kwargs : t .Any ):
0 commit comments