44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
# BI-P022 — the canonical SIAX analytics transformation project.
|
|
#
|
|
# Execution happens in N0D (n0d#38), never here. This project is the MODELS and
|
|
# the CONVENTIONS; src/analytics/transform/dbt-contract.ts is the job contract
|
|
# N0D consumes, and it is what refuses a run that is not reproducible.
|
|
name: siax_analytics
|
|
version: 1.0.0
|
|
config-version: 2
|
|
profile: siax_analytics
|
|
|
|
model-paths: ['models']
|
|
test-paths: ['tests']
|
|
snapshot-paths: ['snapshots']
|
|
macro-paths: ['macros']
|
|
|
|
# The four layers map onto BI-P003's tiers rather than inventing a fifth
|
|
# vocabulary. `+tags` carries the tier so a manifest reader can assign one
|
|
# without parsing paths, and dbt-contract.ts asserts the mapping.
|
|
models:
|
|
siax_analytics:
|
|
+materialized: view
|
|
staging:
|
|
+schema: staging
|
|
+materialized: view
|
|
+tags: ['tier:NORMALIZED']
|
|
intermediate:
|
|
+schema: intermediate
|
|
+materialized: table
|
|
+tags: ['tier:CURATED']
|
|
marts:
|
|
+schema: marts
|
|
+materialized: table
|
|
+tags: ['tier:SERVING']
|
|
|
|
snapshots:
|
|
siax_analytics:
|
|
+target_schema: snapshots
|
|
|
|
# `on_schema_change: fail` rather than `sync_all_columns`: a silently widened
|
|
# table is how a downstream metric starts averaging a column that did not exist
|
|
# yesterday. BI-P004's contract gate is the same rule one layer up.
|
|
vars:
|
|
siax_tenant_id: '__set_by_n0d__'
|