Source properties
Related documentation
Overview
Source properties can be declared in .yml
files in your models/
directory (as defined by the source-paths
config).
You can name these files whatever_you_want.yml
, and nest them arbitrarily deeply in subfolders within the models/
directory.
models/<filename>.yml
version: 2sources:- name: <string> # requiredwarn_after:error_after:database: true | falseschema: true | falseidentifier: true | falsetables:- name: <string> #required- <test>- ... # declare additional testswarn_after:error_after:database: true | falseschema: true | falseidentifier: true | falsecolumns:- name: <column_name> # required- <test>- ... # declare additional tests- name: ... # declare properties of additional columns- name: ... # declare properties of additional source tables- name: ... # declare properties of additional sources
Example
models/<filename>.yml
version: 2sources:- name: jaffle_shopdatabase: rawschema: publicloader: emr # informational only (free text)loaded_at_field: _loaded_at # configure for all sources# meta fields are rendered in auto-generated documentationmeta:contains_pii: trueowner: "@alice"# Add tags to this sourcetags:- ecom- piiquoting:database: falseschema: falseidentifier: falsetables:- name: ordersidentifier: Orders_loaded_at_field: updated_at # override source defaultscolumns:- name: idtests:- unique- name: price_in_usdtests:- not_null- name: customersquoting:identifier: true # override source defaultscolumns:tests:- unique