You can define a .yml file containing the sources:

version: 2
 
sources:
  - name: jaffle_shop
    database: raw
    schema: jaffle_shop
    tables:
      - name: customers
      - name: orders

If schema is not specified, it’ll use the same value as name.

This is powerful because if the database was renamed, you would only need to change the values here instead of every model file that hardcodes that source?

  • The model files still has to be modified if a table or dataset name is changed though…