Skip to content

Commit fa9f634

Browse files
committed
Fix: Propagation of the forward_only flag from dbt models when it's set to false
1 parent 561e4fd commit fa9f634

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

sqlmesh/dbt/model.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,10 @@ def model_kind(self, context: DbtContext) -> ModelKind:
238238
incremental_kind_kwargs["on_destructive_change"] = on_destructive_change
239239

240240
for field in ("forward_only", "auto_restatement_cron"):
241-
field_val = getattr(self, field, None) or self.meta.get(field, None)
242-
if field_val:
241+
field_val = getattr(self, field, None)
242+
if field_val is None:
243+
field_val = self.meta.get(field, None)
244+
if field_val is not None:
243245
incremental_kind_kwargs[field] = field_val
244246

245247
if materialization == Materialization.TABLE:
@@ -249,8 +251,10 @@ def model_kind(self, context: DbtContext) -> ModelKind:
249251
if materialization == Materialization.INCREMENTAL:
250252
incremental_by_kind_kwargs: t.Dict[str, t.Any] = {"dialect": self.dialect(context)}
251253
for field in ("batch_size", "batch_concurrency", "lookback"):
252-
field_val = getattr(self, field, None) or self.meta.get(field, None)
253-
if field_val:
254+
field_val = getattr(self, field, None)
255+
if field_val is None:
256+
field_val = self.meta.get(field, None)
257+
if field_val is not None:
254258
incremental_by_kind_kwargs[field] = field_val
255259

256260
if self.time_column:

tests/dbt/test_transformation.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,12 @@ def test_model_kind():
286286
context
287287
) == IncrementalUnmanagedKind(insert_overwrite=True, disable_restatement=False)
288288

289+
assert ModelConfig(materialized=Materialization.INCREMENTAL, forward_only=False).model_kind(
290+
context
291+
) == IncrementalUnmanagedKind(
292+
insert_overwrite=True, disable_restatement=False, forward_only=False
293+
)
294+
289295
assert ModelConfig(
290296
materialized=Materialization.INCREMENTAL, incremental_strategy="append"
291297
).model_kind(context) == IncrementalUnmanagedKind(disable_restatement=False)

0 commit comments

Comments
 (0)