dbt_compile
Generate SQL from dbt models to validate syntax, preview transformations, or explore model interpretations without executing queries against the database.
Instructions
Compile dbt models. An AI agent should use this tool when it needs to generate the SQL that will be executed without actually running it against the database. This is valuable for validating SQL syntax, previewing transformations, or investigating how dbt interprets models before committing to execution.
Returns:
Output from the dbt compile command as text (this command does not support JSON output format)
Input Schema
Name | Required | Description | Default |
---|---|---|---|
exclude | No | Models to exclude | |
models | No | Specific models to compile, using the dbt selection syntax | |
profiles_dir | No | Directory containing the profiles.yml file (defaults to project_dir if not specified) | |
project_dir | No | ABSOLUTE PATH to the directory containing the dbt project (e.g. '/Users/username/projects/dbt_project' not '.') | . |
selector | No | Named selector to use |
Input Schema (JSON Schema)
{
"properties": {
"exclude": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Models to exclude",
"title": "Exclude"
},
"models": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Specific models to compile, using the dbt selection syntax",
"title": "Models"
},
"profiles_dir": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Directory containing the profiles.yml file (defaults to project_dir if not specified)",
"title": "Profiles Dir"
},
"project_dir": {
"default": ".",
"description": "ABSOLUTE PATH to the directory containing the dbt project (e.g. '/Users/username/projects/dbt_project' not '.')",
"title": "Project Dir",
"type": "string"
},
"selector": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Named selector to use",
"title": "Selector"
}
},
"title": "dbt_compileArguments",
"type": "object"
}