I can confirm that compile is wrong and needs flagging as a bug, whereas dbt build and dbt run both work ok using {{ this.schema }}
One last bump - the bug is actually worse because preview also resolves to the wrong schema, so I can’t preview via correct/non-hardocded syntax.
Who do we raise bugs with?
I’d open an issue against dbt core if this is misbehaving in certain contexts only: Issues · dbt-labs/dbt-core · GitHub
Hi @joellabes
Still getting funny issues with this…
When running/building - {{schema}}, {{this.schema}}, {{model['schema']}} correctly points to gold, {{target.schema}} points to silver
When previewing / compiling - all variations of {{schema}} syntax incorrectly point to silver
gold is the folder this model sits in, and the folder is configured to point to a db schema of the same name.
silver happens to be another folder, which this model isn’t in nor configured to point to in any way.
All tests were run against a saved file.
Current relevant project_yml:
models:
catalyst_model:
archive:
+enabled: false
gold:
+schema: gold
+materialized: table
+post-hook:
- "{{ set_object_ownership(this) }}"
staging:
+schema: dbt_staging
+materialized: table
+post-hook:
- "{{ set_object_ownership(this) }}"
reporting:
+schema: reporting
+materialized: table
+post-hook:
- "{{ set_object_ownership(this) }}"
silver:
+schema: silver
+materialized: table
+post-hook:
- "{{ set_object_ownership(this) }}"
I think the issue might be that the last schema in project.yml is used - since prior to the addition of silver, we were pointed to dbt_staging which at the time was the final configured schema - see original project_yml earlier in thread. However, I tried swapping the order of things in project_yml and it didn’t change anything.
I have the same issues. I’m using dbt cloud.
Janine described perfectly what I am dealing with. Also,
When compiling logging {{schema}}, it returns the custom schema,
When compiling {{schema}}used in a jinja source function, it returns the default schema.

