From 76184d50723a069e0c4116bf79b091403d5a3de3 Mon Sep 17 00:00:00 2001 From: Connor Hanna Date: Thu, 2 Apr 2026 13:40:24 -0500 Subject: [PATCH 1/3] fix: error caused by lack of normalization for hyphenated catalog names --- dagster_sqlmesh/translator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dagster_sqlmesh/translator.py b/dagster_sqlmesh/translator.py index 7b3d879..25620e4 100644 --- a/dagster_sqlmesh/translator.py +++ b/dagster_sqlmesh/translator.py @@ -163,8 +163,8 @@ def get_asset_key_str(self, fqn: str) -> str: """ table = exp.to_table(fqn) asset_key_name = [table.catalog, table.db, table.name] - - return "sqlmesh__" + "_".join(asset_key_name) + + return ("sqlmesh__" + "_".join(asset_key_name)).replace("-", "_") def get_tags(self, context: Context, model: Model) -> dict[str, str]: """Get Dagster asset tags for a SQLMesh model. From f7818bbb2c9bb604524adcf1f9415873c31cebe3 Mon Sep 17 00:00:00 2001 From: Connor Hanna Date: Thu, 2 Apr 2026 13:51:12 -0500 Subject: [PATCH 2/3] test: hyphenated catalog, db, and model names are now dehyphenated --- dagster_sqlmesh/test_translator.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 dagster_sqlmesh/test_translator.py diff --git a/dagster_sqlmesh/test_translator.py b/dagster_sqlmesh/test_translator.py new file mode 100644 index 0000000..13cb56b --- /dev/null +++ b/dagster_sqlmesh/test_translator.py @@ -0,0 +1,8 @@ +from dagster_sqlmesh.translator import SQLMeshDagsterTranslator + + +def test_get_asset_key_str_sanitizes_hyphens(): + translator = SQLMeshDagsterTranslator() + result = translator.get_asset_key_str("my-catalog.my-schema.my-model") + assert result == "sqlmesh__my_catalog_my_database_my_model" + assert "-" not in result \ No newline at end of file From 85b27bf9fe44b8502451fbfc3e00774d98a3560a Mon Sep 17 00:00:00 2001 From: Connor Hanna Date: Thu, 2 Apr 2026 14:32:26 -0500 Subject: [PATCH 3/3] fix: typo in the test string assertion --- dagster_sqlmesh/test_translator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dagster_sqlmesh/test_translator.py b/dagster_sqlmesh/test_translator.py index 13cb56b..f4f01f2 100644 --- a/dagster_sqlmesh/test_translator.py +++ b/dagster_sqlmesh/test_translator.py @@ -4,5 +4,5 @@ def test_get_asset_key_str_sanitizes_hyphens(): translator = SQLMeshDagsterTranslator() result = translator.get_asset_key_str("my-catalog.my-schema.my-model") - assert result == "sqlmesh__my_catalog_my_database_my_model" + assert result == "sqlmesh__my_catalog_my_schema_my_model" assert "-" not in result \ No newline at end of file