Skip to main content
Schema Validation runs automatically after each pipeline sync to verify that the number of rows at the destination matches the source. It gives you confidence that data moved correctly — nothing was dropped, duplicated, or silently lost.

How it works

After a sync completes, Zwiron queries both the source and the destination and compares row counts for each table that was synced:
If the counts don’t match, the table is flagged with a validation failure and you can see the discrepancy in the job detail.

What gets validated

  • Full Refresh — full table row count at source vs. destination after replace
  • Incremental — rows added in this run vs. rows inserted/upserted at destination
  • CDC — cumulative row count across source and destination

Viewing results

Validation results are visible on the job detail page for each run:
  1. Go to Jobs → select a job
  2. Scroll to the table list
  3. Each table shows its validation status:
    • Match — row counts agree
    • Mismatch — source and destination counts differ (count shown for both)
    • ⚠️ Error — validation query failed (e.g. destination unreachable)

When counts don’t match

A mismatch doesn’t always mean data loss — some causes are expected: If none of these apply and counts differ significantly, investigate the run logs for errors.

Validation and data integrity

Validation is a sanity check — it catches gross errors (a table that failed to write, a transform that filtered too aggressively, a destination that rejected rows). It is not a full data-quality audit. For deeper validation (column-level checksums, value distribution checks), use a tool like Great Expectations or dbt tests on your destination data.
Last modified on July 13, 2026