One binary. One connection string change. Your database, versioned like code.
DATABASE_URL=mysql://root@127.0.0.1:3307/repo — that's the whole migration.
Install • Quick start • Workflow • Commands • Architecture
deltix status # 50ms — what changed?
deltix commit -m "add email column"
deltix push # team is up to date
Isolated demos — no sensitive data, repo demo-hello in /tmp, re-record with vhs assets/tapes/*.tape.
| Without Deltix | With Deltix |
|---|---|
mysqldump > dump.sql → Drive → Slack → mysql < dump.sql (overwrites) |
deltix push → deltix pull (merges) |
No branches. Copy DB to appdb_test to try. |
deltix branch create feature + deltix checkout — isolated |
No diff. SHOW CREATE TABLE by eye. |
deltix diff — row + schema diff |
| No history. Restore backup from 3 days ago. | deltix log + checkout <hash> |
|
Branch & merge — for real
|
50ms feedback loop
|
|
Diff without server
|
Git-like, not Git
|
| OS | Command |
|---|---|
| Linux / macOS |
curl -fsSL https://raw.githubusercontent.com/SammyBytes/Deltix-Client/main/scripts/get-deltix-client.sh | bash
# → ~/.local/bin/deltix |
| Windows |
irm https://raw.githubusercontent.com/SammyBytes/Deltix-Client/main/scripts/get-deltix-client.ps1 | iex
# → $HOME\.local\bin\deltix.exe |
| Any |
# from latest release — no Bun needed
chmod +x deltix-linux-x64 && sudo mv deltix-linux-x64 /usr/local/bin/deltix
deltix version |
First command that needs Dolt downloads the pinned
2.3.1binary to~/.deltix/bin/and verifies SHA-256 — you never install a DB yourself.
deltix init myapp && deltix start # Dolt on 127.0.0.1:3307
# .env
DATABASE_URL=mysql://root@127.0.0.1:3307/myapp
# create tables with your ORM — Drizzle, Prisma, SeaORM, whatever
bun run db:migrate
deltix status # → users new table (unstaged)
deltix commit -m "init schema"
deltix pushdeltix init myapp --from mysql://root@127.0.0.1:3306/myapp # once
# or: deltix import myapp --from mysql://root@127.0.0.1:3306/myapp
deltix push # ships schema + data
# switch the app — one line
DATABASE_URL=mysql://root@127.0.0.1:3307/myapp # was :3306
--continueskips bad rows (NOT NULL, type coercion),--schema-only/--no-commitfor preview,--blobs base64|skipfor BLOBs. DSN without password prompts masked.
graph LR
A[App on :3307<br/>Drizzle/Prisma] -->|ALTER TABLE| B[Dolt working tree]
B -->|deltix status 50ms| C{unstaged?}
C -->|deltix commit| D[local commit]
D -->|deltix push| E[Deltix-Server :9090]
E -->|deltix pull| F[teammates on :3307]
B -.->|deltix branch| G[feature/* isolated]
G -.->|deltix merge| D
# feature branch — 100% deltix, no dolt needed
deltix branch create myapp feature-emails
deltix checkout feature-emails
# change via ORM
bun run db:migrate
deltix status # On branch feature-emails / users modified
deltix diff # 1 Row Added (local)
deltix commit -m "add email column"
deltix checkout main # isolation: main has 4 users, feature has 5
deltix merge myapp feature-emails # fast-forward
deltix pushSetup & auth
| Command | What it does |
|---|---|
deltix configure |
One-time setup (server URL, TLS, local port). Saved to ~/.deltix/config.json. |
deltix login <user> |
Masked prompt. --password= or $DELTIX_LOGIN_PASSWORD for scripts (warns). |
deltix logout / whoami |
End / show session. |
deltix version |
Client + server (/status with TLS). |
Local — git-like
| Command | What it does | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deltix init <repo> |
Bind folder to repo (.deltix/ + local Dolt repo). |
||||||||||||||||||||||||||
deltix start [<repo>] |
Start dolt sql-server on :3307. Persists port, fails fast if busy, adopts orphans. |
||||||||||||||||||||||||||
deltix stop / status |
Stop / show running + branch + staged vs unstaged (wire 50ms). |
||||||||||||||||||||||||||
deltix checkout <branch> [<repo>] |
Global checkout — stop → dolt checkout → start so app + CLI share branch. |
||||||||||||||||||||||||||
deltix commit <msg> [tables...] |
dolt add -A + commit (author = logged-in user). |
||||||||||||||||||||||||||
deltix branch list/create/checkout/delete/current |
Local-first (falls back to local when server has no repo). branch local lists both. |
||||||||||||||||||||||||||
| `deltix diff [ [ | ]]`
Server / sync
No local DB of its own — Dolt is the DB. No Turso. Adding Full rules in
|