Migrate any databaseProve every row
A desktop app that moves data between any two databases, then checks both sides
Free and open source. macOS, Windows and LinuxActivity
- Migrations
- 58
- Verified
- 93%
- Discrepancies
- 2
- Connections
- 6
Connections
Customer platformdb-primary.eu-west.internal:5432/platformProductionPostgreSQL
Customer platform v2localhost:3306/platform_v2TestMySQL
Billing replicasql-replica.eu-west.internal:1433/billingStagingSQL Server
- Contracts export~/Exports/contracts-2026-q3.csvDevelopmentCSV
Product analyticsdb.kqzrtmvplx.supabase.co:5432/postgresProductionSupabase
Data warehouseep-quiet-sky-a1b2.eu-central-1.aws.neon.tech/warehouseStagingNeon
Works with
PostgreSQL
Supabase
SQL Server
- CSV
MySQL
SQLite
Parquet
Neon
Connect the databases you already have
Customer platformdb-primary.eu-west.internal:5432/platformProductionPostgreSQL
Customer platform v2localhost:3306/platform_v2TestMySQL
Billing replicasql-replica.eu-west.internal:1433/billingStagingSQL Server
- Contracts export~/Exports/contracts-2026-q3.csvDevelopmentCSV
Product analyticsdb.kqzrtmvplx.supabase.co:5432/postgresProductionSupabase
Data warehouseep-quiet-sky-a1b2.eu-central-1.aws.neon.tech/warehouseStagingNeon
Relay suggests the mapping, you decide
Every migration ends with a proof
- Source
- 128 402
- Target
- 128 402
- Discrepancies to settle
- 2
Is Relay really free?
Yes. Relay is open source under the Apache 2.0 license: no license key, no subscription, no trial. Download it, use it at work, read and change the code.
Where is the source code?
On GitHub, at github.com/bstcoc/relay. Issues and pull requests are welcome.
Do my rows go through Relay’s servers?
No. The engine runs on your computer and reads your databases directly. No row and no value is ever sent to us.
Which databases does Relay work with?
PostgreSQL, Supabase, Neon, SQL Server, MySQL and SQLite, plus CSV and Parquet files. Source and target can run on different engines, with different schemas.
Do I need to write a script or a config file?
No. You connect two databases, accept the suggested mapping column by column, run a dry run, then migrate. Everything happens in the app.
Is anything written to my target before I agree?
No. Relay offers a dry run before writing anything, and writes in a single transaction when the database allows it.
What happens when a check fails?
Relay names the discrepancy, with its column and its rows, and waits for your decision. Nothing is accepted for you.
What about personal data?
A migration from production to a non-production target masks personal data by default. You can turn it off, never forget it.
Where are my passwords kept?
In your system keychain, encrypted for your team, or read from your company’s vault. A password is never written in plain text, in a file, a log or an error message.
Your next migration, proved
Free and open source, for everyone on your team