sources_have_loader
Rule: sources_have_loader
Manifest Rule
sources_have_loader details
This rule ensures that dbt sources have a loader property defined. The loader describes the tool that loads data into your warehouse (e.g., Fivetran, Stitch, Airflow) and functions only as documentation.
Configuration
- type: Must be
sources_have_loader. - applies_to: (optional) List of dbt object types to check.
- Default:
["sources"] - Options:
sources
- Default:
Common Rule Config
- name: Human-readable name of the rule.
- severity:
"error"(fail) or"warning"(warn only).- (optional, defaults to
"error"if not specified)
- (optional, defaults to
- description: Human-readable explanation of the rule.
- category: Override the default rule category. Included in structured output (JSON, CSV, NDJSON) but not in the CLI table. Each rule has a built-in default (e.g.
documentation,naming,testing,governance,structure,performance).- (optional, defaults to the rule type's built-in category)
- includes: List of patterns to explicitly include for this rule. See Includes & Excludes for pattern syntax and examples.
- excludes: List of patterns to explicitly exclude from this rule. See Includes & Excludes for pattern syntax and examples.
- model_materializations: Filter models by materialization type. Only applies when
applies_toincludesmodels.- (optional, if not specified all materializations are included)
- Built-in types:
table,view,incremental,ephemeral,materialized_view. Custom materializations are also supported. - Example:
["table", "incremental"]
Example Config
manifest_tests:
- name: "sources_have_loader"
type: "sources_have_loader"
description: "All sources must specify their loader."[[manifest_tests]]
name = "sources_have_loader"
type = "sources_have_loader"
description = "All sources must specify their loader."[[tool.dbtective.manifest_tests]]
name = "sources_have_loader"
type = "sources_have_loader"
description = "All sources must specify their loader."Relevant dbt code
sources:
- name: jaffle_shop
loader: fivetran
tables:
- name: orders
- name: customers
- name: stripe
loader: stitch
tables:
- name: payments