Skip to content

Commit ce8bd91

Browse files
committed
Add fields to target variable
1 parent 08950c8 commit ce8bd91

File tree

2 files changed

+50
-3
lines changed

2 files changed

+50
-3
lines changed

sqlmesh/dbt/target.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,24 @@
4545

4646
# We only serialize a subset of fields in order to avoid persisting sensitive information
4747
SERIALIZABLE_FIELDS = {
48-
"type",
48+
# core
4949
"name",
50-
"database",
5150
"schema_",
51+
"type",
52+
"threads",
53+
# snowflake
54+
"database",
5255
"warehouse",
56+
"user",
57+
"role",
58+
"account",
59+
# postgres/redshift
60+
"dbname",
61+
"host",
62+
"port",
63+
# bigquery
64+
"project",
65+
"dataset",
5366
}
5467

5568
SCHEMA_DIFFER_OVERRIDES = {

tests/dbt/test_transformation.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1023,8 +1023,41 @@ def test_target_jinja(sushi_test_project: Project):
10231023
user="user",
10241024
password="password",
10251025
warehouse="warehouse",
1026+
role="role",
1027+
threads=1,
10261028
)
1029+
assert context.render("{{ target.threads }}") == "1"
1030+
assert context.render("{{ target.database }}") == "test"
10271031
assert context.render("{{ target.warehouse }}") == "warehouse"
1032+
assert context.render("{{ target.user }}") == "user"
1033+
assert context.render("{{ target.role }}") == "role"
1034+
assert context.render("{{ target.account }}") == "account"
1035+
1036+
context = DbtContext()
1037+
context._target = PostgresConfig(
1038+
name="target",
1039+
schema="test",
1040+
database="test",
1041+
dbname="test",
1042+
host="host",
1043+
port=5432,
1044+
user="user",
1045+
password="password",
1046+
)
1047+
assert context.render("{{ target.dbname }}") == "test"
1048+
assert context.render("{{ target.host }}") == "host"
1049+
assert context.render("{{ target.port }}") == "5432"
1050+
1051+
context = DbtContext()
1052+
context._target = BigQueryConfig(
1053+
name="target",
1054+
schema="test",
1055+
database="test",
1056+
project="project",
1057+
dataset="dataset",
1058+
)
1059+
assert context.render("{{ target.project }}") == "project"
1060+
assert context.render("{{ target.dataset }}") == "dataset"
10281061

10291062

10301063
@pytest.mark.xdist_group("dbt_manifest")
@@ -1965,8 +1998,9 @@ def test_snapshot_json_payload():
19651998
assert snapshot_json["node"]["jinja_macros"]["global_objs"]["target"] == {
19661999
"type": "duckdb",
19672000
"name": "in_memory",
1968-
"schema": "sushi",
19692001
"database": "memory",
2002+
"schema": "sushi",
2003+
"threads": 1,
19702004
"target_name": "in_memory",
19712005
}
19722006

0 commit comments

Comments
 (0)