diff --git a/dbt/adapters/snowflake/relation.py b/dbt/adapters/snowflake/relation.py index f3ee3e510..bb791e40c 100644 --- a/dbt/adapters/snowflake/relation.py +++ b/dbt/adapters/snowflake/relation.py @@ -213,10 +213,11 @@ def get_iceberg_ddl_options(self, config: RelationConfig) -> str: base_location += f"/{subpath}" iceberg_ddl_predicates: str = f""" - external_volume = '{config.get('external_volume')}' catalog = 'snowflake' base_location = '{base_location}' """ + if external_volume := config.get("external_volume"): + iceberg_ddl_predicates += f"\nexternal_volume = '{external_volume}'" return textwrap.indent(textwrap.dedent(iceberg_ddl_predicates), " " * 10) def __drop_conditions(self, old_relation: "SnowflakeRelation") -> Iterator[Tuple[bool, str]]: diff --git a/dbt/adapters/snowflake/relation_configs/catalog.py b/dbt/adapters/snowflake/relation_configs/catalog.py index c8d7de40f..e76de0cd1 100644 --- a/dbt/adapters/snowflake/relation_configs/catalog.py +++ b/dbt/adapters/snowflake/relation_configs/catalog.py @@ -66,6 +66,8 @@ def from_dict(cls, config_dict: Dict[str, Any]) -> Self: } if table_format := config_dict.get("table_format"): kwargs_dict["table_format"] = TableFormat(table_format) + if external_volume := config_dict.get("external_volume"): + kwargs_dict["external_volume"] = external_volume return super().from_dict(kwargs_dict) @classmethod