---
title: Dokumentacja modeli
description: Dokumentacja nazw plików modeli, dyrektyw początkowych, polityki lint, stanów i trybów niepowodzenia.
species: reference
---
# Dokumentacja modeli

Model jest jednym plikiem SQL w katalogu `models/`. Nazwa pliku bez rozszerzenia staje się tabelą wyjściową, a ścieżka folderu określa schemat wyjściowy.

## Dyrektywy początkowe

Dyrektywy muszą znajdować się w początkowym nagłówku komentarzy. Parser analizuje najwyżej pierwsze 20 wierszy.

| Dyrektywa | Znaczenie |
|---|---|
| `-- name:` | Jawna nazwa wyświetlana |
| `-- schema:` | Jawny schemat wyjściowy |
| `-- cadence: manual` | Wykluczenie z cyklicznych uruchomień całej organizacji |
| `-- depends_on: schema.table` | Dodanie jawnej krawędzi grafu |
| `-- unique_key: column` | Wstawianie lub aktualizowanie według tej kolumny zamiast zastępowania tabeli |
| `-- bigquery` | Skierowanie instrukcji do BigQuery; musi być pierwszym wierszem i nie może odwoływać się do `titan.*` |
| `-- query-<class>` | Przypięcie uruchomienia do większej klasy pamięci; używaj tylko po wskazaniu przez błąd zasobów |
| `-- lint:` | Rozpoczęcie ograniczonego bloku polityki diagnostycznej typesql |

```sql
-- schema: finance
-- cadence: manual
-- depends_on: stripe.charges
-- unique_key: customer_id
-- lint:
--   TS0609: allow

select
  customer as customer_id,
  sum(amount) / 100.0 as revenue
from titan.stripe.charges
where status = 'succeeded' and not _deleted
group by customer
```

## Ograniczenia nazw

Model nie może zapisywać do schematu należącego do połączonego źródła. Wybierz schemat pochodny, na przykład `finance` lub `analytics`. Zmiana podstawowej nazwy pliku zmienia nazwę tabeli wyjściowej.

## Stany uruchomienia

Kroki zapisują wynik oczekujący, w toku, pomyślny, nieudany lub pominięty. Modele ręczne są pomijane w cyklicznych uruchomieniach. Niepowodzenie zależności uniemożliwia uruchomienie kroków podrzędnych.

## Częste niepowodzenia

- Cykl lub nieznana jawna zależność powoduje odrzucenie grafu.
- Błąd typesql zatrzymuje uruchomienie `enforce` i jest zapisywany ze stabilnym kodem.
- Brak kolumny klucza unikatowego powoduje odrzucenie materializacji przez wstawianie lub aktualizację.
- Model skierowany do BigQuery, który odwołuje się do `titan.*`, jest odrzucany przed przesłaniem.
- Przekroczenie czasu zapytania lub wyczerpanie budżetu pamięci kończy krok bez publikowania częściowej tabeli.
