refactor: multi-dashboard structural migration
Some checks failed
CI / lint-and-test (pull_request) Has been cancelled

- Rename dbt project from toronto_housing to portfolio
- Restructure dbt models into domain subdirectories:
  - shared/ for cross-domain dimensions (dim_time)
  - staging/toronto/, intermediate/toronto/, marts/toronto/
- Update SQLAlchemy models for raw_toronto schema
- Add explicit cross-schema FK relationships for FactRentals
- Namespace figure factories under figures/toronto/
- Namespace notebooks under notebooks/toronto/
- Update Makefile with domain-specific targets and env loading
- Update all documentation for multi-dashboard structure

This enables adding new dashboard projects (e.g., /football, /energy)
without structural conflicts or naming collisions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-01 19:08:20 -05:00
parent a5d6866d63
commit 62d1a52eed
73 changed files with 1114 additions and 623 deletions

View File

@@ -1,8 +1,7 @@
name: 'toronto_housing'
version: '1.0.0'
name: 'portfolio'
config-version: 2
profile: 'toronto_housing'
profile: 'portfolio'
model-paths: ["models"]
analysis-paths: ["analyses"]
@@ -16,13 +15,19 @@ clean-targets:
- "dbt_packages"
models:
toronto_housing:
portfolio:
shared:
+materialized: view
+schema: shared
staging:
+materialized: view
+schema: staging
toronto:
+materialized: view
+schema: staging
intermediate:
+materialized: view
+schema: intermediate
toronto:
+materialized: view
+schema: intermediate
marts:
+materialized: table
+schema: marts
toronto:
+materialized: table
+schema: marts