Skip to main content

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