Twoje repozytorium danych#
Każda organizacja ma repozytorium danych oparte na Git. Widok Pliki w aplikacji i zwykły lokalny klon Git edytują tę samą historię, więc model zrecenzowany w pull requeście jest modelem uruchamianym przez Supernova.
models/
revenue.sql
dashboards/
revenue/
page.md
monthly.sql
themes/
skycrane.json
packages/
skycrane/finance/typesql.pkg
typesql.lockUkład plików#
| Ścieżka | Znaczenie |
|---|---|
models/**/*.sql | Zmaterializowane modele. Nazwa pliku bez rozszerzenia jest nazwą tabeli wyjściowej. |
dashboards/<slug>/page.md | Układ i metadane frontmatter dashboardu. |
dashboards/<slug>/*.sql | Zapytania używane przez dany dashboard. |
themes/<slug>.json | Motywy wykresów utworzone w organizacji. |
packages/<namespace>/<name>/typesql.pkg | Pakiety typesql przypięte do treści. |
typesql.lock | Dokładne skróty pakietów używane podczas kontroli typów. |
Zmienianie repozytorium#
Widok Pliki umożliwia edycję oraz przeglądanie historii i aktywności bez lokalnego checkoutu. Aby pracować lokalnie, dodaj klucz SSH w ustawieniach organizacji, skopiuj adres repozytorium i używaj standardowych poleceń git clone, git pull oraz git push.
Każde przyjęte wypchnięcie staje się nową rewizją repozytorium. Uruchomienia modeli odczytują jedną ustaloną rewizję; nie mieszają plików z dwóch commitów. Strony dashboardów rozwiązują sąsiadujące pliki zapytań z tej samej historii.
Nazwy są kontraktami#
Przeniesienie models/revenue.sql zmienia przestrzeń nazw modelu. Zmiana nazwy pliku zmienia jego tabelę wyjściową. Ścieżki dashboardów i pakietów również są identyfikatorami, dlatego zmiany ścieżek recenzuj jak zmiany API, a nie poprawki kosmetyczne.
Supernova wyznacza zależności modeli z przeanalizowanych odwołań do tabel i jawnych dyrektyw -- depends_on:. Kolejność folderów i czas modyfikacji plików nigdy nie określają kolejności uruchomienia.