File tree Expand file tree Collapse file tree 3 files changed +32
-1
lines changed
core/dbt/artifacts/resources/v1
tests/functional/model_config Expand file tree Collapse file tree 3 files changed +32
-1
lines changed Original file line number Diff line number Diff line change 1+ kind : Fixes
2+ body : ignore invalid model freshness configs in inline model configs
3+ time : 2025-06-10T21:12:41.972614-07:00
4+ custom :
5+ Author : colin-rogers-dbt
6+ Issue : " 11728"
Original file line number Diff line number Diff line change @@ -75,6 +75,20 @@ class ModelConfig(NodeConfig):
7575 )
7676 freshness : Optional [ModelFreshness ] = None
7777
78+ @classmethod
79+ def __pre_deserialize__ (cls , data ):
80+ data = super ().__pre_deserialize__ (data )
81+ # scrub out model configs where "build_after" is not defined
82+ if (
83+ "freshness" in data
84+ and isinstance (data ["freshness" ], dict )
85+ and "build_after" in data ["freshness" ]
86+ ):
87+ data ["freshness" ] = ModelFreshness .from_dict (data ["freshness" ]).to_dict ()
88+ else :
89+ data .pop ("freshness" , None )
90+ return data
91+
7892
7993@dataclass
8094class CustomGranularity (dbtClassMixin ):
Original file line number Diff line number Diff line change 5555select 1 as id
5656"""
5757
58+ models__model_freshness_sql_inline = """
59+ {{ config(
60+ materialized='table',
61+ freshness={
62+ 'warn_after': {'count': 24, 'period': 'hour'}
63+ }
64+ ) }}
65+ select 1 as id
66+ """
67+
5868models__source_freshness_sql = """
5969select * from {{ source('my_source', 'source_table') }}
6070"""
@@ -74,9 +84,10 @@ def models(self):
7484 "model_b.sql" : models__model_freshness_sql ,
7585 "model_c.sql" : models__source_freshness_sql ,
7686 "model_d.sql" : models__both_freshness_sql ,
87+ "model_e.sql" : models__model_freshness_sql_inline ,
7788 }
7889
7990 def test_model_freshness_configs (self , project ):
8091 run_dbt (["parse" ])
8192 compile_results = run_dbt (["compile" ])
82- assert len (compile_results ) == 4 # All 4 models compiled successfully
93+ assert len (compile_results ) == 5 # All 4 models compiled successfully
You can’t perform that action at this time.
0 commit comments