Skip to content

Compilation overrides

Compilation overrides change how your project’s SQL compiles without editing workflow_settings.yaml — useful for separating environments (dev vs. prod) on the same codebase. Set them from Settings → Compilation overrides.

  • Default database — the database the compiled SQL targets. For BigQuery this is the project id; for Postgres/Supabase it’s the database name.
  • Schema suffix — appended to every schema name, so environments don’t collide. For example a suffix of dev turns schema analytics into analytics_dev. (This mirrors Dataform’s workspace suffix.)
  • Table prefix — prepended to every table/view name. Leave blank for none.

Why overrides instead of branches in the file

Section titled “Why overrides instead of branches in the file”

Your workflow_settings.yaml declares the project’s defaults. Overrides let the same compiled project target a different schema or database per environment — the basis for running dev and prod from one repo without divergent config files. They’re applied at compile time, so the generated SQL reflects them before anything runs.

Overrides pair with a project’s warehouse connection and, where used, named environments — together they determine where and under what names your models land.