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.
- Pick the Left (source) and Right (target) databases.
- Click 🔍 Compare.
Results can be filtered:
| Filter | Shows |
|---|---|
| All | Every object on either side |
| Different | Objects that exist on both sides but differ |
| Left only | Missing from the target |
| Right only | Extra in the target |
| Equal | Identical 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.
- Choose the left table — connection, database, table.
- Choose the right table.
- Choose the key column used to match rows on both sides.
- Click ⇄ Compare.
Every row is then classified:
| Status | Meaning |
|---|---|
| ← Left only | In the left table, not in the right |
| → Right only | In the right table, not in the left |
| ≠ Different | Same key, different values |
| = Equal | Identical |
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 import → Data Compare.
- "Something is different but I do not know what" → structure first, then data. Column differences explain most row differences.
