I Built db-migrator to Move Data Between Databases and Validate the Results
Database migrations always sound easy on paper. Read data from one database, transform it, and write it somewhere else. Simple enough, right? Well, not always. Things get messy when you're dealing with different data types, ID formats, nested structures, or large datasets. And even when a migration finishes successfully, how can you be sure everything was migrated correctly? I'm Fatih ๐ andโฆ
Fatih created db-migrator to simplify database migrations and validate the results. He aimed to handle different data types, ID formats, nested structures, and large datasets. db-migrator is a self-hosted tool that operates in Docker, supporting several databases like PostgreSQL, MongoDB, MySQL, MariaDB, SQL Server, TimescaleDB, and InfluxDB v2.
It allows users to configure visual migrations, monitor progress, and validate results by comparing record counts and inspecting differences. A migration example involved moving data from PostgreSQL to MongoDB, with real-time progress updates. In case of failures, db-migrator can rollback, preserving existing data. The dashboard provides an overview of migrations, including status, progress, and validation scores.
Additional features include job scheduling, schema drift detection, migration rollback, webhook notifications, and exportable reports. db-migrator can be easily set up using Docker, and its open-source Docker image is available for personal and commercial use under a free license.
Written by urgent.news from Dev.to's reporting โ not their text. Machine-written โ may contain errors; check the original before relying on it.