diff --git a/core/dbt/adapters/base/relation.py b/core/dbt/adapters/base/relation.py index ae4e585d524..a118886abc7 100644 --- a/core/dbt/adapters/base/relation.py +++ b/core/dbt/adapters/base/relation.py @@ -232,7 +232,7 @@ def create_from_node( **kwargs: Any, ) -> Self: if quote_policy is None: - quote_policy = {} + quote_policy = node.config.quoting if hasattr(node.config, "quoting") else {} quote_policy = dbt.utils.merge(config.quoting, quote_policy) diff --git a/core/dbt/context/providers.py b/core/dbt/context/providers.py index 3c2d593546b..fc00f07099a 100644 --- a/core/dbt/context/providers.py +++ b/core/dbt/context/providers.py @@ -518,11 +518,7 @@ def resolve( return self.create_relation(target_model) def create_relation(self, target_model: ManifestNode) -> RelationProxy: - if target_model.is_external_node: - # Get quoting from publication artifact - pub_metadata = self.manifest.publications[target_model.package_name].metadata - return self.Relation.create_from_node(pub_metadata, target_model) - elif target_model.is_ephemeral_model: + if target_model.is_ephemeral_model: self.model.set_cte(target_model.unique_id, None) return self.Relation.create_ephemeral_from_node(self.config, target_model) else: diff --git a/core/dbt/parser/manifest.py b/core/dbt/parser/manifest.py index e8ab8bdf59e..fccdc42d52d 100644 --- a/core/dbt/parser/manifest.py +++ b/core/dbt/parser/manifest.py @@ -102,6 +102,7 @@ ResultNode, ModelNode, NodeRelation, + NodeConfig, ) from dbt.contracts.graph.unparsed import NodeVersion from dbt.contracts.util import Writable @@ -877,6 +878,7 @@ def load_new_public_nodes(self): ), original_file_path="", path="", + config=NodeConfig(quoting=publication.metadata.quoting), ) )