File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11from __future__ import annotations
22
3- import copy
43import typing as t
54
65import agate
@@ -50,15 +49,11 @@ def to_sqlmesh(
5049 """Converts the dbt seed into a SQLMesh model."""
5150 seed_path = self .path .absolute ().as_posix ()
5251
53- if column_types := self .column_types :
54- column_types_override = copy .deepcopy (self .columns )
55- for name , data_type in column_types .items ():
56- column = column_types_override .setdefault (name , ColumnConfig (name = name ))
57- column .data_type = data_type
58- column .quote = self .quote_columns or column .quote
59- kwargs = self .sqlmesh_model_kwargs (context , column_types_override )
60- else :
61- kwargs = self .sqlmesh_model_kwargs (context )
52+ column_types_override = {
53+ name : ColumnConfig (name = name , data_type = data_type , quote = self .quote_columns )
54+ for name , data_type in (self .column_types or {}).items ()
55+ }
56+ kwargs = self .sqlmesh_model_kwargs (context , column_types_override )
6257
6358 columns = kwargs .get ("columns" ) or {}
6459
Original file line number Diff line number Diff line change @@ -677,6 +677,27 @@ def test_seed_column_types():
677677 assert sqlmesh_seed .columns_to_types == expected_column_types
678678 assert sqlmesh_seed .column_descriptions == expected_column_descriptions
679679
680+ seed = SeedConfig (
681+ name = "foo" ,
682+ package = "package" ,
683+ path = Path ("examples/sushi_dbt/seeds/waiter_names.csv" ),
684+ column_types = {
685+ "name" : "text" ,
686+ },
687+ columns = {
688+ # The `data_type` field does not affect the materialized seed's column type
689+ "id" : ColumnConfig (name = "name" , data_type = "text" ),
690+ },
691+ quote_columns = True ,
692+ )
693+
694+ expected_column_types = {
695+ "id" : exp .DataType .build ("int" ),
696+ "name" : exp .DataType .build ("text" ),
697+ }
698+ sqlmesh_seed = seed .to_sqlmesh (context )
699+ assert sqlmesh_seed .columns_to_types == expected_column_types
700+
680701
681702def test_seed_column_inference (tmp_path ):
682703 seed_csv = tmp_path / "seed.csv"
You can’t perform that action at this time.
0 commit comments