86 lines
3 KiB
YAML
86 lines
3 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:
|
|
+post-hook:
|
|
sql: "VACUUM ANALYZE {{ this }}"
|
|
transaction: false
|
|
# ^ This makes dbt run a VACUUM ANALYZE on the models after building each.
|
|
# It's pointless for views, but it doesn't matter because Postgres fails
|
|
# silently withour raising an unhandled exception.
|
|
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'"
|
|
|
|
# KPIs Start Date. This is the date from which we start calculating KPIs.
|
|
"kpis_start_date": "'2022-04-01'"
|
|
|
|
# Booking state variables
|
|
# States should be strings in capital letters. Models need to force an upper()
|
|
"cancelled_booking_state": "'CANCELLED'"
|
|
|
|
# Booking state variables
|
|
# States should be strings in capital letters. Models need to force an upper()
|
|
"approved_booking_state": "'APPROVED'"
|
|
|
|
# Booking state variables
|
|
# States should be strings in capital letters. Models need to force an upper()
|
|
"flagged_booking_state": "'FLAGGED'"
|
|
|
|
# Payment state variables
|
|
# States should be strings in capital letters. Models need to force an upper()
|
|
"paid_payment_state": "'PAID'"
|
|
|
|
# Protection service state variables
|
|
# States should be strings in capital letters. Models need to force an upper()
|
|
"default_service": "'BASIC SCREENING'"
|