@@ -124,8 +124,6 @@ def _to_sqlmesh(config: BMC, context: DbtContext) -> Model:
124124 )
125125
126126 for project in self ._load_projects ():
127- context = project .context .copy ()
128-
129127 macros_max_mtime = self ._macros_max_mtime
130128 yaml_max_mtimes = self ._compute_yaml_max_mtime_per_subfolder (
131129 project .context .project_root
@@ -135,12 +133,13 @@ def _to_sqlmesh(config: BMC, context: DbtContext) -> Model:
135133 logger .debug ("Converting models to sqlmesh" )
136134 # Now that config is rendered, create the sqlmesh models
137135 for package in project .packages .values ():
138- context .set_and_render_variables (package .variables , package .name )
136+ package_context = project .context .copy ()
137+ package_context .set_and_render_variables (package .variables , package .name )
139138 package_models : t .Dict [str , BaseModelConfig ] = {** package .models , ** package .seeds }
140139
141140 for model in package_models .values ():
142141 sqlmesh_model = cache .get_or_load_models (
143- model .path , loader = lambda : [_to_sqlmesh (model , context )]
142+ model .path , loader = lambda : [_to_sqlmesh (model , package_context )]
144143 )[0 ]
145144
146145 models [sqlmesh_model .fqn ] = sqlmesh_model
@@ -155,14 +154,13 @@ def _load_audits(
155154 audits : UniqueKeyDict = UniqueKeyDict ("audits" )
156155
157156 for project in self ._load_projects ():
158- context = project .context
159-
160157 logger .debug ("Converting audits to sqlmesh" )
161158 for package in project .packages .values ():
162- context .set_and_render_variables (package .variables , package .name )
159+ package_context = project .context .copy ()
160+ package_context .set_and_render_variables (package .variables , package .name )
163161 for test in package .tests .values ():
164162 logger .debug ("Converting '%s' to sqlmesh format" , test .name )
165- audits [test .name ] = test .to_sqlmesh (context )
163+ audits [test .name ] = test .to_sqlmesh (package_context )
166164
167165 return audits
168166
@@ -237,9 +235,9 @@ def _load_environment_statements(self, macros: MacroRegistry) -> t.List[Environm
237235 project_names : t .Set [str ] = set ()
238236 dialect = self .config .dialect
239237 for project in self ._load_projects ():
240- context = project .context
241238 for package_name , package in project .packages .items ():
242- context .set_and_render_variables (package .variables , package_name )
239+ package_context = project .context .copy ()
240+ package_context .set_and_render_variables (package .variables , package_name )
243241 on_run_start : t .List [str ] = [
244242 on_run_hook .sql
245243 for on_run_hook in sorted (package .on_run_start .values (), key = lambda h : h .index )
@@ -254,7 +252,7 @@ def _load_environment_statements(self, macros: MacroRegistry) -> t.List[Environm
254252 for hook in [* package .on_run_start .values (), * package .on_run_end .values ()]:
255253 dependencies = dependencies .union (hook .dependencies )
256254
257- statements_context = context .context_for_dependencies (dependencies )
255+ statements_context = package_context .context_for_dependencies (dependencies )
258256 jinja_registry = make_jinja_registry (
259257 statements_context .jinja_macros , package_name , set (dependencies .macros )
260258 )
0 commit comments