on-run-start & on-run-end
dbt_project.yml
on-run-start: sql-statement | [sql-statement]
on-run-end: sql-statement | [sql-statement]
Definition
A SQL statement (or list of SQL statements) to be run at the start or end of the following commands:
dbt build
, dbt compile
, dbt docs generate
, dbt run
, dbt seed
, dbt snapshot
, or dbt test
.
on-run-start
and on-run-end
hooks can also call macros that return SQL statements.
Usage notes
- The
on-run-end
hook has additional jinja variables available in the context — check out the docs.
Examples
Grant privileges on all schemas that dbt uses at the end of a run
This leverages the schemas variable that is only available in an on-run-end
hook.
dbt_project.yml
on-run-end:
- "{% for schema in schemas %}grant usage on schema {{ schema }} to group reporter; {% endfor %}"
Call a macro to grant privileges
dbt_project.yml
on-run-end: "{{ grant_select(schemas) }}"
Additional examples
We've compiled some more in-depth examples here.
0