← Back to Blog

Using Compiler Options in Dataform

Published on April 16, 2025

Compiler options can be used to set things like table prefix, schema prefix and adding variables the the query compilation or execution.

For example, to add the table prefix to AA in all tables, you can run:

dataform compile --table-prefix=AA

your-project.your-dataset.your-table would become your-project.your-dataset.AA_your-table

Compiler options can also be used with dataform run to add the table prefix to a specific execution as follows:

dataform run --actions "your-project.your-dataset.your-table" --table-prefix=AA

You can use table prefixes to isolate your development work from production tables. For example, use dev_ for development and prod_ for production tables.

[!TIP] In Dataform Tools VSCode extension, you can set the table prefix directly in the compiled query webview by adding --table-prefix=AA to the text box.

Available compiler options can be seen by running dataform compile --help in your terminal:


Positionals:
  project-dir  The Dataform project directory.  [default: "."]

Options:
  --help              Show help  [boolean]
  --version           Show version number  [boolean]
  --watch             Whether to watch the changes in the project directory.  [boolean] [default: false]
  --json              Outputs a JSON representation of the compiled project.  [boolean] [default: false]
  --timeout           Duration to allow project compilation to complete. Examples: '1s', '10m', etc.  [string] [default: null]
  --default-database  The default database to use, equivalent to Google Cloud Project ID. If unset, the value from workflow_settings.yaml is used.  [string]
  --default-schema    Override for the default schema name. If unset, the value from workflow_settings.yaml is used.
  --default-location  The default location to use. See https://cloud.google.com/bigquery/docs/locations for supported values. If unset, the value from workflow_settings.yaml is used.
  --assertion-schema  Default assertion schema. If unset, the value from workflow_settings.yaml is used.
  --vars              Override for variables to inject via '--vars=someKey=someValue,a=b', referenced by `dataform.projectConfig.vars.someValue`.  If unset, the value from workflow_settings.yaml is used.  [string] [default: null]
  --database-suffix   Default assertion schema. If unset, the value from workflow_settings.yaml is used.
  --schema-suffix     A suffix to be appended to output schema names. If unset, the value from workflow_settings.yaml is used.
  --table-prefix      Adds a prefix for all table names. If unset, the value from workflow_settings.yaml is used.