Every difference found. Every change reviewable.
SchemaSync Professional covers the whole path from noticing that two schemas disagree to deploying the migration that reconciles them — and it never writes anything you have not read first.
See every difference between two schemas in seconds
Point SchemaSync at any two MySQL schemas — a developer machine and staging, staging and production, or a live database and a saved snapshot. It reads both structures and reports exactly what differs, object by object, down to the column type, index method and constraint action.
- Tables, columns, indexes, foreign keys and constraints
- Views, stored procedures, functions, triggers and events
- Character set, collation, engine and table options
- Filter out anything you deliberately keep different per environment
SchemaSync Professional
orders_dev ⇄ orders_prod
Source
orders_dev
localhost:3306
Target
orders_prod
db-prod.internal:3306
Read the migration before it touches anything
Nothing runs until you have seen it. SchemaSync generates the ordered migration script, wraps it in a transaction, and shows it to you in full. Drop statements arrive commented out by default, because deleting a column should always be a decision rather than a side effect.
- Correctly ordered statements that respect foreign key dependencies
- Destructive operations commented out until you opt in
- Save the script to run through your own review or CI pipeline
- Copy any single statement without exporting the whole file
Generated migration script
25 statements · transaction-wrapped
-- Generated by SchemaSync Professional 1.4.2-- Source: orders_dev Target: orders_prod-- 25 statements · reviewed by you before anything runs START TRANSACTION; ALTER TABLE `customers` ADD COLUMN `loyalty_points` int unsigned NOT NULL DEFAULT 0 AFTER `email`; ALTER TABLE `orders` MODIFY COLUMN `status` enum('draft','paid','shipped') NOT NULL; CREATE INDEX `idx_orders_placed_at` ON `orders` (`placed_at`); -- Dropped columns are commented out by default.-- ALTER TABLE `sessions` DROP COLUMN `legacy_token`; COMMIT;Apply changes as one transaction, or not at all
Choose the direction, review the plan, and let SchemaSync execute it. Pre-flight checks confirm privileges, engine support and character sets before the first statement runs. The whole migration is applied inside a single transaction, so a failure halfway through leaves the target exactly as it was.
- Pre-flight checks catch permission and compatibility problems first
- A rollback point is created before anything is applied
- Selective sync — apply some differences and leave the rest
- Automatic re-compare afterwards to confirm the result
Synchronize orders_dev → orders_prod
Step 3 of 4 · applying changes
Pre-flight checks
Privileges, engine and charset verified
Backup target schema
orders_prod-20260714-2104.sql · 42 MB
ALTER TABLE `orders`
MODIFY COLUMN `status` — running
CREATE INDEX `idx_orders_placed_at`
Queued
Verify and re-compare
Confirms the target matches the source
Line-level DDL comparison, side by side
When an object differs, open it and see why. The difference viewer puts both definitions next to each other and marks the changed lines, ignoring the formatting and comment noise that makes manual DDL comparison so error-prone.
- Side-by-side DDL with changed lines marked
- Whitespace, comment and ordering noise filtered out
- Status shown by glyph and label as well as colour
- Jump straight from a difference to the statement that resolves it
Difference viewer — orders.status
Column definition · 3 differences
A snapshot before every deployment, automatically
SchemaSync takes a backup of the target before it applies anything, and you can take one whenever you want. Snapshots are written to a folder you choose, on a retention policy you set, so recovering a schema never depends on remembering to run something first.
- Automatic pre-synchronization backup of the target schema
- Scheduled or on-demand snapshots with retention limits
- Schema-only or schema-with-data, written straight to disk
- Every backup doubles as a comparison source
Backup
Schema and data snapshots
Streaming to disk · 6.4 MB/s · about 12 seconds remaining
orders_prod-20260714-2104.sql
Today, 21:04 · Pre-sync
orders_prod-20260713-0200.sql
Yesterday, 02:00 · Scheduled
orders_stage-20260712-1740.sql
12-Jul-26, 17:40 · Manual
Roll a schema back to a known-good state
Pick a snapshot and SchemaSync shows you what restoring it would change before it starts. It takes a safety backup of the current state first, so the restore itself is reversible — which is what makes it safe to use under pressure.
- Preview the effect of a restore before running it
- A safety backup of the current state is taken first
- Dry-run mode verifies every object without writing
- Restore a single object instead of the whole schema
Restore from backup
orders_prod-20260714-2104.sql
Restoring replaces 3 objects that exist only in the live schema
A safety backup of the current state is taken first. Review the list below.
Every environment saved, and clearly labelled
Keep local, staging and production connections side by side, each tagged with its environment so production is never mistaken for a sandbox. Credentials are encrypted locally with Windows DPAPI and never leave the machine.
- Environment labels that make production visually distinct
- Credentials encrypted at rest with Windows DPAPI
- TLS with certificate verification, plus SSH tunnelling
- Mark a connection read-only to block writes outright
Connection manager
4 saved connections
Local development
localhost:3306
Staging
db-stage.internal:3306
Production (read-only)
db-prod.internal:3306
Analytics replica
db-replica:3306
- Host
- db-prod.internal
- Port
- 3306
- User
- schemasync_ro
- TLS
- Required · verify CA
- Timeout
- 30s
- Write access
- Blocked
Connected in 84 ms · MySQL 8.4.0
A dark interface built for long sessions
SchemaSync follows the Windows system theme or holds whichever one you pick. Both themes are designed around the diff palette, so added, removed and modified stay legible at the same contrast whichever you use.
- Follows the Windows system theme, or stays fixed
- Diff colours tuned for contrast in both themes
- Applies to editors, reports and exported HTML
- Adjustable editor font and density
Appearance
Follows the Windows system theme, or pick one
Eighteen object types, compared in detail
Not just tables and columns. The differences that break a deployment are usually the ones a shallow comparison skips.
Structure
- Tables and table options
- Columns, types and defaults
- Generated columns (virtual and stored)
- Primary keys
- Partitions
Integrity and access paths
- Indexes, including column order
- Unique and fulltext indexes
- Index visibility and method
- Foreign keys and referential actions
- Check constraints
Programmable objects
- Views and their definers
- Stored procedures
- Functions
- Triggers
- Scheduled events
Encoding and storage
- Character sets, per table and per column
- Collations
- Storage engine
- Row format
- Comments
Wherever your MySQL runs
Self-hosted or managed, on your network or behind an SSH tunnel — SchemaSync connects the same way and compares the same objects.
MySQL
5.7, 8.0 and 8.4
MariaDB
10.4 and later
Percona Server
5.7 and 8.0
Amazon RDS & Aurora
MySQL-compatible endpoints
Azure Database for MySQL
Flexible and single server
Google Cloud SQL
MySQL instances
See it against your own schemas
A comparison tool is easy to evaluate: point it at two databases you already know disagree, and check whether it tells you the truth.
- Windows 10 and 11 (64-bit)
- Code-signed installer with a published checksum
- Email support during the trial