Skip to main content

meta

models/schema.yml
version: 2

models:
- name: model_name
config:
meta: {<dictionary>}

columns:
- name: column_name
meta: {<dictionary>}

The meta config can also be defined:

  • under the models config block in dbt_project.yml
  • in a config() Jinja macro within a model's SQL file

See configs and properties for details.

Definition

The meta field can be used to set metadata for a resource. This metadata is compiled into the manifest.json file generated by dbt, and is viewable in the auto-generated documentation.

Depending on the resource you're configuring, meta may be available within the config property, and/or as a top-level key. (For backwards compatibility, meta is often (but not always) supported as a top-level key, though without the capabilities of config inheritance.)

Examples

Designate a model owner

Additionally, indicate the maturity of a model using a model_maturity: key.

models/schema.yml
version: 2

models:
- name: users
meta:
owner: "@alice"
model_maturity: in dev

Designate a source column as containing PII

models/schema.yml
version: 2

sources:
- name: salesforce

tables:
- name: account
meta:
contains_pii: true
columns:
- name: email
meta:
contains_pii: true

Configure one meta attribute for all seeds

dbt_project.yml
seeds:
+meta:
favorite_color: red

Override one meta attribute for a single model

models/my_model.sql
{{ config(meta = {
'single_key': 'override'
}) }}

select 1 as id

Assign owner in the dbt_project.yml as a config property

dbt_project.yml
models:
jaffle_shop:
materialized: table
config:
meta:
owner: "@alice"
0