dbt Compile Queries #
Everytime dbt runs, it compiles the SQL and stores the results in the ./target/compiled
directory.
So if say there’s a model that includes aliases, the compiled form replaces those aliases with the actual values required to execute SQL.
For instance, a Jinja-templated model might look like:
with prep as (
from {{source('something', 'other')}}
),
final as (
select * from prep
)
select * from final
(where something
refers to a database, other
refers to a table defined in a .yml file in the ./model
directory)
Might become something like the following ./target/compiled/.../<filename>.sql
:
with prep as (
from <database>.<schema>.<table>
),
final as (
select * from prep
)
select * from final
^ Super handy for debugging.