Skip to content

Comparing structure and data

Two separate tools answering two different questions: do these schemas match? and do these rows match?

Structure Compare

Right-click a database and choose Structure Compare.

  1. Pick the Left (source) and Right (target) databases.
  2. Click 🔍 Compare.

Results can be filtered:

FilterShows
AllEvery object on either side
DifferentObjects that exist on both sides but differ
Left onlyMissing from the target
Right onlyExtra in the target
EqualIdentical on both sides

The typical use is checking a production schema against a development one before a release — the Left only list is what your migration still has to create.

The two databases can live on different connections, so comparing a local copy against a remote server works.

Data Compare

Click Compare in the toolbar when the question is about rows. If a table tab is active, its table is filled in for you.

  1. Choose the left table — connection, database, table.
  2. Choose the right table.
  3. Choose the key column used to match rows on both sides.
  4. Click ⇄ Compare.

Every row is then classified:

StatusMeaning
← Left onlyIn the left table, not in the right
→ Right onlyIn the right table, not in the left
≠ DifferentSame key, different values
= EqualIdentical

Equal rows are hidden by default so the differences stand out; the filters switch between all differences, left only, right only and differences.

Choose the key column carefully

Matching is only as good as the key. Use the primary key, or a column that is genuinely unique on both sides — a non-unique key makes every comparison meaningless.

Which to use

  • Preparing a migration, or verifying a deployment → Structure Compare.
  • Verifying a data transfer or an importData Compare.
  • "Something is different but I do not know what" → structure first, then data. Column differences explain most row differences.