From 8dde1c14d08d0f97c5e75dbd6c830e3745f6d54b Mon Sep 17 00:00:00 2001 From: Mike Gouline <1960272+gouline@users.noreply.github.com> Date: Fri, 10 Jan 2025 10:41:36 +1100 Subject: [PATCH] fix sources with null databases --- dbtmetabase/format.py | 4 ++-- dbtmetabase/manifest.py | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/dbtmetabase/format.py b/dbtmetabase/format.py index 862a7156..2be2994b 100644 --- a/dbtmetabase/format.py +++ b/dbtmetabase/format.py @@ -28,8 +28,8 @@ def __init__( self.include = self._norm_arg(include) self.exclude = self._norm_arg(exclude) - def match(self, item: str) -> bool: - item = self._norm_item(item) + def match(self, item: Optional[str]) -> bool: + item = self._norm_item(item) if item else "" for exclude in self.exclude: if fnmatch.fnmatch(item, exclude): diff --git a/dbtmetabase/manifest.py b/dbtmetabase/manifest.py index a48348c0..88d82b82 100644 --- a/dbtmetabase/manifest.py +++ b/dbtmetabase/manifest.py @@ -42,7 +42,8 @@ "caveats", ] -# Default model schema (only schema in BigQuery) +# Default values for non-standard sources +DEFAULT_DATABASE = "" DEFAULT_SCHEMA = "PUBLIC" # Foreign key constraint: "schema.model (column)" / "model (column)" @@ -411,7 +412,13 @@ def ref(self) -> Optional[str]: @property def alias_path(self) -> str: - return ".".join([self.database, self.schema or DEFAULT_SCHEMA, self.alias]) + return ".".join( + [ + self.database or DEFAULT_DATABASE, + self.schema or DEFAULT_SCHEMA, + self.alias, + ] + ) def format_description( self,