Skip to content

Commit 6046a49

Browse files
committed
Fix: Deserialization of the incremental unmanaged model kind
1 parent 34782b8 commit 6046a49

3 files changed

Lines changed: 12 additions & 2 deletions

File tree

sqlmesh/core/model/kind.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ def _model_kind_validator(v: t.Any) -> ModelKind:
120120
klass = IncrementalByTimeRangeKind
121121
elif v.get("name") == ModelKindName.INCREMENTAL_BY_UNIQUE_KEY:
122122
klass = IncrementalByUniqueKeyKind
123+
elif v.get("name") == ModelKindName.INCREMENTAL_UNMANAGED:
124+
klass = IncrementalUnmanagedKind
123125
elif v.get("name") == ModelKindName.SEED:
124126
klass = SeedKind
125127
elif v.get("name") == ModelKindName.VIEW:

sqlmesh/dbt/model.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,9 @@ def model_kind(self, target: TargetConfig) -> ModelKind:
191191
strategy = self.incremental_strategy or target.default_incremental_strategy(
192192
IncrementalUnmanagedKind
193193
)
194-
return IncrementalUnmanagedKind(insert_overwrite=strategy == "insert_overwrite")
194+
return IncrementalUnmanagedKind(
195+
insert_overwrite=strategy in INCREMENTAL_BY_TIME_STRATEGIES
196+
)
195197
if materialization == Materialization.EPHEMERAL:
196198
return ModelKind(name=ModelKindName.EMBEDDED)
197199
raise ConfigError(f"{materialization.value} materialization not supported.")

tests/dbt/test_transformation.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,14 @@ def test_model_kind():
9797
partition_by={"field": "bar"},
9898
).model_kind(target) == IncrementalUnmanagedKind(insert_overwrite=True)
9999

100+
assert ModelConfig(materialized=Materialization.INCREMENTAL).model_kind(
101+
target
102+
) == IncrementalUnmanagedKind(insert_overwrite=True)
103+
100104
assert (
101-
ModelConfig(materialized=Materialization.INCREMENTAL).model_kind(target)
105+
ModelConfig(
106+
materialized=Materialization.INCREMENTAL, incremental_strategy="append"
107+
).model_kind(target)
102108
== IncrementalUnmanagedKind()
103109
)
104110

0 commit comments

Comments
 (0)