meta
- Models
- Sources
- Seeds
- Snapshots
- Tests
- Analyses
- Macros
- Exposures
- Semantic Models
- Metrics
- Saved queries
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 indbt_project.yml
- in a
config()
Jinja macro within a model's SQL file
See configs and properties for details.
version: 2
sources:
- name: model_name
config:
meta: {<dictionary>}
tables:
- name: table_name
config:
meta: {<dictionary>}
columns:
- name: column_name
meta: {<dictionary>}
version: 2
seeds:
- name: seed_name
config:
meta: {<dictionary>}
columns:
- name: column_name
meta: {<dictionary>}
The meta
config can also be defined under the seeds
config block in dbt_project.yml
. See configs and properties for details.
version: 2
snapshots:
- name: snapshot_name
config:
meta: {<dictionary>}
columns:
- name: column_name
meta: {<dictionary>}
The meta
config can also be defined:
- under the
snapshots
config block indbt_project.yml
- in a
config()
Jinja macro within a snapshot's SQL block
See configs and properties for details.
You can't add YAML meta
configs for generic tests. However, you can add meta
properties to singular tests using config()
at the top of the test file.
The meta
config is not currently supported for analyses.
version: 2
macros:
- name: macro_name
meta: {<dictionary>}
arguments:
- name: argument_name
version: 2
exposures:
- name: exposure_name
meta: {<dictionary>}
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.
version: 2
models:
- name: users
meta:
owner: "@alice"
model_maturity: in dev
Designate a source column as containing PII
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
seeds:
+meta:
favorite_color: red
Override one meta attribute for a single model
{{ config(meta = {
'single_key': 'override'
}) }}
select 1 as id
Assign owner and favorite_color in the dbt_project.yml as a config property
models:
jaffle_shop:
+meta:
owner: "@alice"
favorite_color: red