Quick verdict
Use dbt data tests on every dbt project: they are part of dbt, cost nothing beyond warehouse queries, live in Git beside the models, and can fail or warn a build. Add Datafold when you need evidence of what a change does to the data, not just whether rules still pass: row-level diffs of modified models and their downstream assets in the pull request, or parity checks between a legacy source and a new warehouse during migration. Before buying Datafold for CI, confirm which app you would be on, because its documentation states CI/CD testing is not available in the current Datafold app.
Lifecycle notes. Datafold archived its open source data-diff project (MIT) on 17 May 2024; the README says Datafold no longer supports or develops it, so data diffing now comes only from the paid product. Datafold's documentation states that CI/CD testing is available only in Datafold Classic (app.datafold.com, eu.datafold.com and Classic dedicated deployments) and not in the current Datafold app. On the dbt side, dbt Labs and Fivetran completed their merger on 1 June 2026 and operate as Fivetran + dbt Labs; dbt Core remains Apache 2.0.
dbt data tests are the built-in testing feature of dbt. A data test is a query that returns failing records: zero rows means it passes. dbt ships four generic tests (unique, not_null, accepted_values, relationships), you can write your own generic tests or install packages, and singular tests are one-off SQL files in the tests directory. Severity can be warn or error, with warn_if and error_if thresholds, and store_failures saves failing rows to an audit table. Unit tests, added in v1.8, check model logic on static inputs before the model is built.
Datafold is a commercial data engineering platform built around data diffing: comparing tables, query results or files row by row and column by column, within one database or across two. It runs scheduled diff and data test monitors, offers ML-driven anomaly detection monitors, and in CI diffs the dbt models a pull request changes. The company now leads with its Migration Agent, which combines AI code translation with diff-based validation, and exposes diffs to coding agents through an MCP server.
Side by side
| Aspect | Datafold | dbt data tests |
|---|---|---|
| Question answered | What changed in the data between two versions? | Does this version of the data satisfy the rules I wrote? |
| Method | Row and column level diff of two datasets | SQL queries that return failing rows; unit tests on static inputs |
| What you must write | Little for CI diffs (it compares manifests and changed models); YAML for monitors | Every test, in YAML or SQL |
| CI integration | PR comments with diffs of changed models and downstream assets; Datafold Classic only | dbt build or dbt test in any CI system; fail or warn per test |
| Cross-database comparison | Yes, for example legacy source versus new warehouse | No; tests run in the dbt target warehouse |
| Scope | dbt and non-dbt pipelines (API or SQL parsing); 23 database connectors documented | dbt models, sources, seeds and snapshots in warehouses with a dbt adapter |
| Licence | Proprietary SaaS; open source data-diff archived May 2024 | dbt Core Apache 2.0; dbt platform commercial |
| Deployment | SaaS (US and EU) or single-tenant VPC in AWS, GCP or Azure | dbt Core CLI anywhere, or the managed dbt platform |
| Price | Quote only; migrations priced per object | Free with dbt Core; dbt platform from free Developer to quote-based Enterprise |
| Main limitation | CI/CD testing not in the current app; no public price | Only checks what someone wrote a test for |
Key differences
Assertions versus diffs
The two are complementary rather than competing. A dbt data test checks a rule you already know. For example, a singular test that fails if any order has a negative total:
-- tests/assert_no_negative_order_totals.sql (dbt singular data test)
select order_id, sum(amount) as total_amount
from {{ ref('fct_payments') }}
group by 1
having sum(amount) < 0If a refactor silently drops 2 percent of rows, or changes a currency conversion so every value shifts slightly, no test fails unless someone anticipated that exact failure. Datafold catches that class of problem by comparing the production version of each changed model with the pull request version and reporting added, removed and changed rows and values. The trade-off is cost and setup: diffs need two builds and a paid service, while tests need only dbt.
How each works in CI
With dbt, CI usually builds the changed models and their children in a temporary schema and runs their tests, with unit tests recommended for development and CI rather than production. Any CI system that can run the dbt CLI works, and the same commands run on the dbt platform. With Datafold, two manifest.json files (production and pull request) are submitted; dbt Cloud does this automatically, while dbt Core users add a step to their CI configuration (the documentation gives CircleCI, GitHub Actions and GitLab as examples). Datafold compares the manifests, diffs the modified models in the warehouse, identifies downstream assets such as BI tools, and posts a summary comment on the pull request, with an optional AI overview on GitHub, GitLab and Bitbucket.
The important caveat is availability: Datafold's documentation says CI/CD testing is available only in Datafold Classic and is not available in the current Datafold app (us.datafold.com, eub.datafold.com and dedicated or customer-hosted deployments). Ask Datafold which app a new contract would use and what the plan is for CI.
Migrations and cross-database checks
dbt tests run in one warehouse, against the project's own models. They cannot tell you whether a table in Teradata or Oracle matches its copy in Snowflake. Datafold diffs across databases and lists 23 connectors, including Teradata, Netezza, Db2, SAP HANA, Oracle, SQL Server, Snowflake, Databricks and BigQuery, which is why it sells migrations as an outcome with price, timeline and quality guaranteed in the contract. If a migration is your trigger for looking at Datafold, compare it with a dedicated source-to-target testing tool as well; see QuerySurge vs Datafold.
Cost and lock-in
dbt data tests cost nothing beyond the warehouse queries they run, and because tests are SQL in your repository they move with the project. Large suites do add query cost on every run, so many teams tag tests and run the expensive ones less often. Datafold is quote only, with no free tier, and the free data-diff tool that many teams used for ad hoc diffs is archived (the repository remains readable under MIT but is not maintained). Budget for a contract if diffing becomes part of your review process.
Pricing and licensing
Datafold. No published prices. datafold.com/pricing redirects to a contact page, and the home page offers a demo with a "discuss pricing" step. For data platform migrations Datafold says pricing is based on the number of objects, with price, timeline and quality guaranteed in the contract. No free tier or self-service trial is advertised.
dbt data tests. Included in dbt. With open source dbt Core (Apache 2.0) they are free; you pay only for warehouse compute. On the managed dbt platform, the pricing page lists Developer free (1 developer seat, 1 project, 3,000 successful models built a month), Starter at USD 100 per user per month (up to 5 developer seats, 15,000 models built a month, overage billed) and Enterprise and Enterprise+ by quote. Tests run on every plan.
Pricing checked on the vendors' official pages on 7 November 2026. Prices change; confirm before buying.
Where each one leads
Datafold strengths
- Shows what a change does to the data, row by row, without writing a test for each risk
- Diffs across different databases, useful for migration parity checks
- Pull request comments include downstream impact, including BI assets
- Wide connector list including Teradata, Netezza and Db2
- VPC deployment option in AWS, GCP or Azure
dbt data tests strengths
- Free with dbt Core and included on every dbt platform plan
- Tests are SQL and YAML in Git, reviewed with the models
- Fail or warn per test, with thresholds and stored failing rows
- Unit tests catch logic errors before data is built
- Works in any CI system that can run the dbt CLI
Limitations
Datafold limitations
- CI/CD testing documented as available only in Datafold Classic
- No public pricing, free tier or trial
- Open source data-diff archived in May 2024
- Not a full observability suite: freshness and volume monitoring are not documented
dbt data tests limitations
- Only checks rules someone has written; no anomaly detection or diffing
- Limited to dbt-managed resources in the target warehouse
- Unit tests support SQL models only, not materialized views or recursive SQL
- Large suites add warehouse cost on every run
When to choose each
Choose Datafold if
- Reviewers need row-level evidence of what a dbt change does before merge
- You are migrating from a legacy warehouse and must prove parity
- Your critical models are complex enough that rules alone miss regressions
- You can confirm CI/CD testing is available on the Datafold app you would use
Choose dbt data tests if
- You use dbt, which means you should start here in any case
- Your quality rules are known: keys, nulls, value sets and relationships
- You want zero licence cost and no extra vendor
- You need logic checks on static inputs (unit tests) in CI
When neither is right
- You need ongoing production monitoring of freshness and volume: see Elementary vs Metaplane.
- Your pipelines are not dbt: see Soda vs Great Expectations.
- Your testers write paired source and target SQL for ETL and BI validation: see QuerySurge vs Datafold.
- You only need to compare two SQL Server databases once: a data compare utility such as Redgate SQL Data Compare may be enough.
Final recommendation
This is not an either-or choice for most dbt teams. dbt data tests are the baseline: free, in code, and enough for known rules. Datafold is an add-on for teams whose risk is unknown regressions in complex models or whose project is a cross-database migration, and who can justify a quote-based contract. The availability of CI/CD testing only in Datafold Classic is the key question to settle before buying it for pull request review.
Frequently asked questions
Can Datafold replace dbt tests?
Not really. dbt tests assert rules on one version of the data; Datafold compares two versions and shows the differences. Most teams that use Datafold keep their dbt tests.
Is data-diff still free?
The datafold/data-diff repository is still readable under the MIT licence, but Datafold archived it on 17 May 2024 and no longer supports or develops it. Data diffing continues in the paid Datafold product.
Is Datafold CI available in the current Datafold app?
According to Datafold's documentation, no. CI/CD testing is available only in Datafold Classic (app.datafold.com, eu.datafold.com and Classic dedicated deployments) and not in the current app.
Are dbt tests free?
Yes, with dbt Core, which is Apache 2.0; you pay only for warehouse queries. The dbt platform has a free Developer plan, Starter at USD 100 per user per month, and quote-based Enterprise plans.
Who owns dbt now?
dbt Labs and Fivetran completed their merger on 1 June 2026 and operate as Fivetran + dbt Labs. dbt Core remains open source under Apache 2.0.
Sources
- Datafold docs: how Datafold in CI works
- Datafold docs: database connections
- Datafold home page
- Archived datafold/data-diff repository
- Datafold blog: sunsetting open source data-diff
- dbt docs: add data tests to your DAG
- dbt docs: unit tests
- dbt pricing
- dbt-core repository and licence
- Fivetran press release: Fivetran and dbt Labs complete merger
Checked November 2026.
How we research comparisons: our editorial method.