Skip to content

Commit 9f17fa1

Browse files
committed
Reinstate dialect & add unit test
1 parent ffe7a04 commit 9f17fa1

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

sqlmesh/dbt/basemodel.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,9 @@ def sqlmesh_model_kwargs(
357357
# - https://docs.getdbt.com/reference/resource-configs/contract
358358
# - https://docs.getdbt.com/reference/resource-configs/column_types
359359
if column_types_override:
360-
model_kwargs["columns"] = column_types_to_sqlmesh(column_types_override)
360+
model_kwargs["columns"] = (
361+
column_types_to_sqlmesh(column_types_override, self.dialect(context)) or None
362+
)
361363

362364
return model_kwargs
363365

tests/dbt/test_config.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77
from dbt.adapters.base import BaseRelation, Column
88
from pytest_mock import MockerFixture
99

10+
from sqlglot import exp
1011
from sqlmesh.core.audit import StandaloneAudit
1112
from sqlmesh.core.config import Config, ModelDefaultsConfig
1213
from sqlmesh.core.dialect import jinja_query
1314
from sqlmesh.core.model import SqlModel
1415
from sqlmesh.core.model.kind import OnDestructiveChange, OnAdditiveChange
16+
from sqlmesh.dbt.column import ColumnConfig
1517
from sqlmesh.dbt.common import Dependencies
1618
from sqlmesh.dbt.context import DbtContext
1719
from sqlmesh.dbt.loader import sqlmesh_config
@@ -1076,3 +1078,15 @@ def test_on_schema_change_properties(
10761078

10771079
assert model.on_additive_change == expected_additive
10781080
assert model.on_destructive_change == expected_destructive
1081+
1082+
1083+
def test_sqlmesh_model_kwargs_columns_override():
1084+
context = DbtContext()
1085+
context.project_name = "Foo"
1086+
context.target = DuckDbConfig(name="target", schema="foo")
1087+
1088+
kwargs = ModelConfig(dialect="duckdb").sqlmesh_model_kwargs(
1089+
context,
1090+
{"c": ColumnConfig(name="c", data_type="uinteger")},
1091+
)
1092+
assert kwargs.get("columns") == {"c": exp.DataType.build(exp.DataType.Type.UINT)}

0 commit comments

Comments
 (0)