access
models/<schema>.yml
version: 2
models:
- name: model_name
access: private | protected | public
After you define access
, rerun a production job to apply the change.
Definition
The access level of the model you are declaring properties for.
Some models (not all) are designed to be referenced through the ref function across groups.
Access | Referenceable by |
---|---|
private | Same group |
protected | Same project/package |
public | Any group, package, or project. When defined, rerun a production job to apply the change. |
If you try to reference a model outside of its supported access, you will see an error:
dbt run -s marketing_model
...
dbt.exceptions.DbtReferenceError: Parsing Error
Node model.jaffle_shop.marketing_model attempted to reference node model.jaffle_shop.finance_model,
which is not allowed because the referenced node is private to the finance group.
Default
By default, all models are "protected." This means that other models in the same project can reference them.
Related docs
0