From ca232ef8dae81c3ec0a57737957b45ebc8a483c2 Mon Sep 17 00:00:00 2001 From: Tori Wei Date: Thu, 18 Sep 2025 10:58:24 -0700 Subject: [PATCH 1/2] ignore cluster_by config for embedded model kind --- sqlmesh/dbt/model.py | 5 +++++ tests/dbt/test_transformation.py | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/sqlmesh/dbt/model.py b/sqlmesh/dbt/model.py index 124d900c4b..256c4e24bc 100644 --- a/sqlmesh/dbt/model.py +++ b/sqlmesh/dbt/model.py @@ -544,6 +544,11 @@ def to_sqlmesh( "Ignoring cluster_by config for model '%s'; cluster_by is not supported for views.", self.name, ) + elif isinstance(kind, EmbeddedKind): + logger.warning( + "Ignoring cluster_by config for model '%s'; cluster_by is not supported for embedded models.", + self.name, + ) else: clustered_by = [] for c in self.cluster_by: diff --git a/tests/dbt/test_transformation.py b/tests/dbt/test_transformation.py index 22b75abab6..29651f9140 100644 --- a/tests/dbt/test_transformation.py +++ b/tests/dbt/test_transformation.py @@ -2074,6 +2074,17 @@ def test_model_cluster_by(): ) assert model.to_sqlmesh(context).clustered_by == [] + model = ModelConfig( + name="model", + alias="model", + package_name="package", + target_schema="test", + cluster_by=["Bar", "qux"], + sql="SELECT * FROM baz", + materialized=Materialization.EPHEMERAL.value, + ) + assert model.to_sqlmesh(context).clustered_by == [] + def test_snowflake_dynamic_table(): context = DbtContext() From 5b68949b88c05d85b0bba814bb40d215654cda67 Mon Sep 17 00:00:00 2001 From: Tori Wei Date: Thu, 18 Sep 2025 13:56:30 -0700 Subject: [PATCH 2/2] pr feedback --- sqlmesh/dbt/model.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sqlmesh/dbt/model.py b/sqlmesh/dbt/model.py index 256c4e24bc..efad5e790b 100644 --- a/sqlmesh/dbt/model.py +++ b/sqlmesh/dbt/model.py @@ -539,15 +539,11 @@ def to_sqlmesh( optional_kwargs["partitioned_by"] = partitioned_by if self.cluster_by: - if isinstance(kind, ViewKind): - logger.warning( - "Ignoring cluster_by config for model '%s'; cluster_by is not supported for views.", - self.name, - ) - elif isinstance(kind, EmbeddedKind): + if isinstance(kind, (ViewKind, EmbeddedKind)): logger.warning( - "Ignoring cluster_by config for model '%s'; cluster_by is not supported for embedded models.", + "Ignoring cluster_by config for model '%s'; cluster_by is not supported for %s.", self.name, + "views" if isinstance(kind, ViewKind) else "ephemeral models", ) else: clustered_by = []