You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 2979009
Browse filesBrowse the repository at this point in the historyBrowse files
docs: correct out-of-date and wrong documentation (#977)
* docs: document --debug and correct test-only macro placement
Add global options, including --debug, to the build reference and explain which progress rows need --debug. Describe where macros used only by tests can live. Fix outdated flags, sample output and file layouts across CLI and concept pages.
* docs: correct audit defaults, seed loading and selector behaviour
Audits default to error severity and the delta_and_final run scope, seeds load on every build, path-between selectors include every path, and project concurrency is no longer serial-only. Refresh selector error samples.
* docs: fix custom adapter imports and dbt bootstrap sample
Custom adapter examples now import from the real module paths and call execute with keyword arguments. The generated dbt connection is named <target>_dbt_profile. The quickstart lists the loader and generic audit where the playground puts them.
* docs: refresh the P006 macro reference sample
* docs: regenerate the SQLBuild skill references
|`--load`| Explicitly load managed sources before building |
51
64
|`--no-load`| Skip automatic source loading |
52
65
|`--reload`| Reload managed sources (passes `is_reload=True` to loaders) |
53
-
|`--include-stale-upstreams`|Expand selection to include stale upstream models needed for coherence|
66
+
|`--selection-diagnostics`|Warn when a selected model will build on changed upstream models that are not selected; see [Selection and staleness](../concepts/planning/selection-and-staleness.md)|
54
67
|`--manifest`| Generate `target/manifest.json` with plan-aware project metadata |
55
68
|`--select`, `-s`| Select specific models |
56
69
|`--exclude`| Exclude specific models |
@@ -69,7 +82,7 @@ This replaces the former `sqb run` command. The full lifecycle (tests + audits)
69
82
## Execution order
70
83
71
84
1. Managed sources are loaded (unless `--no-load`)
72
-
2.Seeds are loaded (if changed)
85
+
2.Selected seeds are loaded
73
86
3. Source audits run before their dependent models (unless `--no-audits`)
74
87
4. SQL unit tests run before their target model (unless `--no-tests`)
75
88
5. Models are materialized in DAG topological order
@@ -84,24 +97,36 @@ audit reads, so the audit can gate the resource like its other audits. See
84
97
```
85
98
Execution sqb build (concurrency: 1)
86
99
87
-
1/13 seed waffle_typesOK 0.09s
88
-
2/13 view stg_customers OK 0.05s
89
-
audit not_null (customer_id) PASS
90
-
auditunique (customer_id)PASS
91
-
3/13 view stg_orders OK 0.03s
100
+
1/17 sourceraw__customers OK 0.05s rows=5
101
+
2/17 sourceraw__orders OK 0.03s rows=10
102
+
103
+
3/17 seedwaffle_types OK 0.03s
104
+
7/17 view stg_orders OK 0.04s
92
105
test test_stg_orders PASS
106
+
expect expected stg_orders PASS
107
+
expect assertion order_ids_are_not_null PASS
93
108
audit not_null (order_id) PASS
94
109
audit unique (order_id) PASS
95
-
10/13 table hourly_order_activity (delete_insert) OK 0.16s
96
-
audit (d) expression_is_true PASS 4/4
97
-
audit (d) not_null (activity_hour) PASS 4/4
98
-
audit (f) expression_is_true PASS
110
+
audit not_null (customer_id) PASS
111
+
audit relationships (waffle_type_id) PASS
112
+
audit accepted_values (status) PASS
113
+
13/17 table hourly_order_activity (delete_insert) OK 0.24s
114
+
5 batches (1d) range 2026-03-31T09:00:00 → 2026-04-04T14:00:00 8 rows
Each resource prints one row when it finishes, followed by its tests and audits. Rows for
124
+
individual warehouse statements and for steps inside a resource, such as `Create staging relation`,
125
+
`Promote relation`, `loader callable`, or audit evaluation, appear only with `sqb --debug build`.
126
+
Without `--debug`, a statement that is still running after 30 seconds prints a `RUNNING` row every
127
+
30 seconds, with its elapsed time and, when the warehouse reports one, its query ID. A failed
128
+
statement or step still prints its `FAIL` row.
129
+
105
130
## Deferred builds
106
131
107
132
Use `--defer-to` to resolve unselected model references against another target. This lets you build a subset of models in dev while referencing production tables for everything else:
Checks that your project config is valid, the adapter is resolvable, and the warehouse connection works. Useful for diagnosing setup issues.
10
10
11
+
For detailed progress from any other command, use the global [`--debug`](build.md#global-options) option instead, as in `sqb --debug build`.
12
+
11
13
## Usage
12
14
13
15
```bash
@@ -16,11 +18,13 @@ sqb debug [flags]
16
18
17
19
## What it checks
18
20
19
-
The command runs three groups of checks:
21
+
The command reports four groups of checks:
20
22
21
23
**Runtime** - SQLBuild version, Python version, Python path, OS info.
22
24
23
-
**Configuration** - Finds and validates `sqlbuild_project.toml`, loads `sqlbuild_local.toml` if present, resolves the adapter and active target. For Snowflake it also shows the warehouse each [command group](../concepts/project-configuration.md#command-group-warehouses) connects with and where that value came from.
25
+
**Configuration** - Finds and validates `sqlbuild_project.toml`, loads `sqlbuild_local.toml` if present, resolves the adapter, active target, connection, database, and schema. For Snowflake it also shows the warehouse each [command group](../concepts/project-configuration.md#command-group-warehouses) connects with and where that value came from.
26
+
27
+
**Providers** - Lists the [providers](../concepts/python-nodes/providers.md) the project defines.
24
28
25
29
**Connection** - Displays connection settings as `sqb debug` itself uses them, with the `query` warehouse group applied (secrets are masked), attempts to connect to the warehouse, and runs `SELECT 1` to verify query execution.
Sources without explicit `freshness:` config are auto-observed using the `adapter` strategy if the adapter supports table metadata. Sources that can't be observed (expression sources, managed sources without freshness config on unsupported adapters) show as `unknown`.
@@ -93,15 +93,15 @@ sqb freshness --state
93
93
Source freshness
94
94
95
95
Changed (1)
96
-
raw_orders previous 2026-06-05T12:00:00 current 2026-06-05T15:45:00 tolerance 15m
96
+
└── raw_orders previous 2026-06-05T12:00:00+00:00 current 2026-06-05T15:45:00+00:00 tolerance 15m
97
97
98
98
Unchanged (1)
99
-
raw_customers previous 2026-06-05T14:30:00 current 2026-06-05T14:30:00
99
+
└── raw_customers previous 2026-06-05T14:30:00+00:00 current 2026-06-05T14:30:00+00:00
100
100
101
101
Tolerated (1)
102
-
raw_payments previous 2026-06-05T14:28:00 current 2026-06-05T14:30:00 tolerance 15m
102
+
└── raw_payments previous 2026-06-05T14:28:00+00:00 current 2026-06-05T14:30:00+00:00 tolerance 15m
0 commit comments