Git for your database.
Branch before risky migrations. Commit the full database state. Roll back in seconds, not hours. Merge field-level — something git can't do.
dbm connects to your database (read-only), snapshots every table and row, and stores it in a content-addressed object store under .dbm/. Subsequent commits store only the delta — which rows changed and how. Branches are pointers. Branching is O(1).
curl -fsSL https://releases.eldridgemorgan.com/install.sh | sh
27MB. Linux and macOS. No dependencies.
$ dbm init --db prod --url postgres://localhost/myapp $ dbm commit -m "friday before deploy" $ dbm branch scary-migration $ rails db:migrate $ dbm commit -m "added subscriptions" $ dbm diff main..scary-migration $ dbm merge scary-migration
If something broke:
$ dbm checkout main
Done. Database restored. No pg_dump, no restore scripts, no downtime.
$ dbm push Pushed: 12 objects (84 KB) $ dbm pull Pulled: 12 objects (84 KB)
Encrypted cloud storage. Per-team namespace. Multiple databases per repo — prod, staging, test — with branches scoped per database.
Agents get sandboxed branches with scoped permissions, operation budgets, and auto-expiring TTLs. Every operation is logged. Changes only reach production after human review.
Postgres is stable. MySQL is next. 142 tests. Private beta — onboarding a small number of teams.
Leave your email. I'll send you an invite code.