data-dwh-dbt-project/dbt_project.yml
2024-09-19 11:57:13 +02:00

65 lines
No EOL
2.2 KiB
YAML

# Name your project! Project names should contain only lowercase characters
# and underscores. A good package name should reflect your organization's
# name or the intended use of these models
name: "dwh_dbt"
version: "1.0.0"
config-version: 2
# This setting configures which "profile" dbt uses for this project.
profile: "dwh_dbt"
# These configurations specify where dbt should look for different types of files.
# The `model-paths` config, for example, states that models in this project can be
# found in the "models/" directory. You probably won't need to change these!
model-paths: ["models"]
analysis-paths: ["analyses"]
test-paths: ["tests"]
seed-paths: ["seeds"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]
clean-targets: # directories to be removed by `dbt clean`
- "target"
- "dbt_packages"
# Configuring models
# Full documentation: https://docs.getdbt.com/docs/configuring-models
# In this example config, we tell dbt to build all models in the example/
# directory as views. These settings can be overridden in the individual model
# files using the `{{ config(...) }}` macro.
models:
+unlogged: true
# ^ This makes all the tables created by dbt be unlogged. This is a Postgres
# specific setting that we activate for performance. It has deep implications
# on how Postgres handles tables and is typically considered crazy risky, but
# it's very fitting for our needs. You can read more here:
# https://www.crunchydata.com/blog/postgresl-unlogged-tables
dwh_dbt:
staging:
+materialized: table
+schema: staging
intermediate:
+materialized: view
+schema: intermediate
reporting:
+materialized: table
+schema: reporting
seeds:
dwh_dbt:
schema: staging
vars:
"dbt_date:time_zone": "Europe/London"
# A general cutoff date for relevancy. Many models assume this to be the point
# in time after which they should work.
"start_date": "'2020-01-01'"
# Booking state variables
# States should be strings in capital letters. Models need to force an upper()
"cancelled_booking_state": "'CANCELLED'"
# Payment state variables
# States should be strings in capital letters. Models need to force an upper()
"paid_payment_state": "'PAID'"