Point at two databases of the same engine. Migratrix compares structure and, if you ask, rows. You get an object-level report, a generated alignment script, and the option to turn selected diffs into a change script that then follows the pipeline.
Tables and columns always. Indexes and constraints (primary, unique, foreign keys) on request. Views, procedures, and functions on request. Triggers exist but default off, because they produce a lot of noise.
Generate SQL that brings the target in line with the source, ordered so dependent objects are created and dropped in a valid sequence. Selected diffs can also open as a draft change script.
This workflow requires matching engine types. Comparing Oracle to PostgreSQL is a modelling problem, not a diff, and lives in Conversion Studio.
Inserted, updated, and deleted rows for selected tables, paginated, with a default cap of 10,000 rows. Useful for reference data; not a substitute for checksumming a 50-million-row fact table.
| Mode | What it does |
|---|---|
| Table sync | Copy a table in batches of 1,000 rows by default, with optional constraint disable, backup, and transactions. Can create the target table from source schema when it is missing. |
| Incremental sync | Detect and apply changes. Engine-dependent; confirm behaviour on your pair before relying on it for a production catch-up. |
| Post-transfer check | Row-count comparison between source and target. This is a count, not a cryptographic hash of contents. |
Tables, indexes, constraints, views, procedures, functions, and triggers are. Sequence objects are not part of the compare payload today.
Collections participate in data comparison and in Conversion Studio. They do not have a schema reader for this workflow.
The output is an in-product report, generated SQL, and an optional draft change script. Export of the diff as a signed document is not a feature of this screen.
Choose one of three comparison types: Schema, Data, or Both. Schema comparison is in every plan; comparing data is included from the Growth plan. Both sides must be the same engine a cross-engine pair cannot start a comparison.
| Option | Default |
|---|---|
| Tables, views, indexes, procedures, functions | On. These are the objects most teams mean by “did staging drift?” |
| Triggers | Off. They generate a lot of noise relative to how often they are the drift you care about. |
| System databases and system schemas | Off. Turn them on only when you are comparing engine catalogues on purpose. |
| Data row limit | 10,000, with 1,000 / 5,000 / 10,000 / 50,000 in the dropdown. |
| Reference tables only | On. The data compare is aimed at lookup and configuration tables, not fact tables. |
| Identity columns | Excluded from data comparison so surrogate keys do not look like every row changed. |
| Backup before sync, use transactions, generate insert and update | On in the transfer defaults when you close a gap, not only when you look at it. |
| Generate DROP / DELETE, compare permissions, comments, column order | Off, and several of these exist as backend defaults without a sidebar checkbox. Do not assume a permission diff is in the report unless we show it in a demo on your engines. |
The count is the number of selected differences. The draft opens in the editor with those objects listed as affected, then walks the pipeline like any other script including approvals.
Data differences show the statement that would insert, update, or delete that row. You can inspect it before it becomes part of a script.
Comparison runs on the Executor and streams progress in batches. The platform does not pull both schemas into the cloud to diff them there.
The Executor limits concurrent comparison work so a large schema compare cannot starve query and execution traffic. Plan a first full compare; it is not instant on a 4,000-table catalogue.