Releases: dbt-labs/dbt-core
dbt 0.8.3
dbt 0.8.2
dbt 0.8.1
dbt 0.8.0
dbt 0.7.1
dbt 0.7.1
Check out the release notes here
Note
This version of dbt changes the semantics of the --models
argument to dbt run
and dbt test
. Be sure to check out the new functionality here under "Specifying models to run"!
One more thing
As always, feel free to reach out to us on Slack with any questions or comments!
dbt 0.7.0
dbt 0.6.2
dbt 0.6.1
dbt 0.6.0
dbt 0.5.4
tl;dr
- added support for custom SQL data tests
- SQL returns 0 results --> pass
- SQL returns > 0 results --> fail
- dbt-core integration tests
- running in Continuous Integration environments
- with code coverage
Custom SQL data tests
Schema tests have proven to be an essential part of a modern analytical workflow. These schema tests validate basic constraints about your data. Namely: not null, unique, accepted value, and foreign key relationship properties can be asserted using schema tests.
With dbt v0.5.4, you can now write your own custom "data tests". These data tests are SQL SELECT statements that return 0 rows on success, or > 0 rows on failure. A typical data test might look like:
-- tests/assert_less_than_5_pct_event_cookie_ids_are_null.sql
-- If >= 5% of cookie_ids are null, then the test returns 1 row (failure).
-- If < 5% of cookie_ids are null, then the test returns 0 rows (success)
with calc as (
select
sum(case when cookie_id is null then 1 else 0 end)::float / count(*)::float as fraction
from {{ ref('events') }}
)
select * from calc where fraction < 0.05
To enable data tests, add the test-paths
config to your dbt_project.yml
file:
name: 'Vandelay Industries`
version: '1.0'
source-paths: ["models"]
target-path: "target"
test-paths: ["tests"] # look for *.sql files in the "tests" directory
....
Any .sql
file found in the test-paths
director(y|ies) will be evaluated as data tests. These tests can be run with:
dbt test # run schema + data tests
dbt test --schema # run only schema tests
dbt test --data # run only data tests
dbt test --data --schema # run schema + data tests
# For more information, try
dbt test -h
DBT-core integration tests
With the dbt 0.5.4 release, dbt now features a robust integration test suite. These integration tests will help mitigate the risk of software regressions, and in so doing, will help us develop dbt more quickly. You can check out the tests here, and the test results here (linux/osx) and here (windows).
The Future
You can check out the DBT roadmap here. In the next few weeks, we'll be working on bugfixes, minor features, improved macro support, and expanded control over runtime materialization configs.
As always, feel free to reach out to us on Slack with any questions or comments!