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 and favorite_color in the dbt_project.yml as a config property

dbt_project.yml
models:
jaffle_shop:
+meta:
owner: "@alice"
favorite_color: red

Assign meta to semantic model

The following example shows how to assign a meta value to a semantic model in the semantic_model.yml file and dbt_project.yml file:

semantic_models:
- name: transaction
model: ref('fact_transactions')
description: "Transaction fact table at the transaction level. This table contains one row per transaction and includes the transaction timestamp."
defaults:
agg_time_dimension: transaction_date
config:
meta:
data_owner: "Finance team"
used_in_reporting: true

Assign meta to dimensions, measures, entities

0