araelespinosa.dev
Open Source

DBMigrator

Database migrations, done right.

A .NET 10 CLI tool that migrates PostgreSQL databases between servers and sanitizes sensitive data with declarative YAML rules — locally, in Docker, or on Cloud Run.

What it does

  • Migrate between any two PostgreSQL instances — local, Docker, or Cloud Run
  • Declarative YAML sanitization — 5 strategies: static value, null, template, faker, SHA-256
  • Pre-migration validation — checks tables, columns, and constraints before touching the database
  • Real-time progress tracking during dump and restore operations
  • Run the full pipeline or each step independently: migrate, sanitize, validate
  • Built on .NET 10 — single cross-platform binary, no runtime to install
terminal
# Download the binary (no runtime required)
curl -L https://github.com/cl8dep/DBMigrator/releases/latest/download/dbmigrator-linux-x64 \
  -o dbmigrator && chmod +x dbmigrator

# Validate your config before running
./dbmigrator validate --config config.yaml

# Full pipeline: migrate + sanitize
./dbmigrator run --config config.yaml

# Or run each step independently
./dbmigrator migrate --config config.yaml
./dbmigrator sanitize --config config.yaml

Compatibility

Database engines

Currently supports PostgreSQL end-to-end. Support for additional engines is on the roadmap — contributions welcome.

EngineMigrateSanitizeValidate
PostgreSQL
AvailableAvailableAvailable
MySQL / MariaDB
PlannedPlannedPlanned
SQL Server
PlannedPlannedPlanned
SQLite
PlannedPlannedPlanned
Oracle DB
PlannedPlannedPlanned
CockroachDB

Open Source

Get involved

DBMigrator is free and open source. Whether you use it, break it, or improve it — every contribution matters.