FoxSchema — database schema diff & migration tool (monorepo: web, desktop, cli + core/shared).
See the codeCompare schemas · generate migrations · run SQL — across 10 dialects.
Install once, then open the local web UI (foxschema) for Schema Sync and the
SQL Editor. Self-host with Docker when you need a server.
foxschema.com · Install · User guide · Publish · Contributing
Requires Node.js ≥ 22.5 (npm / Homebrew). Docker needs no Node.
# npm — macOS, Windows, Linux (arm64 + x64)
npm install -g foxschema
# Homebrew — macOS (formula in this repo; Homebrew 6+ needs trust once)
brew tap tedious-code/foxschema https://github.com/tedious-code/foxschema
brew trust tedious-code/foxschema
brew install foxschema
# Docker — servers (linux/amd64, includes Db2)
docker pull 5nickels/foxschema:latest
Windows:
winget install OpenJS.NodeJS.LTS
npm install -g foxschema
Full matrix: docs/INSTALL.md.
foxschema # start UI on http://localhost:3210 and open the browser
foxschema shortcut # put a Fox icon on your Desktop
foxschema stop # stop the background server
foxschema doctor
Headless / CI:
foxschema compare --source a --target b
foxschema migrate --source a --target b
foxschema tui
A full query workbench next to Schema Sync — not a thin prompt.

| Feature | What you get |
|---|---|
| Multi-destination Run | Same SQL against every checked connection; By-cred or Side-by-side results |
| Notebook cells | SQL + -- @js / -- @ts / -- @node cells with per-cell ▶ and Out [n] |
| FoxScript | Monaco language, fences, markers, schema-aware tokens |
| Data Peek | Cmd/Ctrl-click a table in Schema, or click rust FK cells in results; edit rows when allowed |
| Peek tools | WHERE / ORDER BY / LIMIT, Prev/Next, drag ⋮⋮ to arrange, resize |
| Query files | CSV / JSON / fixed-width → temp Files: SQLite or bulk-load into a saved credential |
| Schema explorer | Insert names, autocomplete, edit table / view source |
| Variables & secrets | ${{name}}, @set, session secrets, code-cell vars |
| Safe mode | Confirm writes; bookmarks & samples included |
| Access control | Optional admin / editor / viewer roles when multi-user login is on |
Walkthrough: User guide → SQL Editor.
Point Fox at a source and a target. It introspects both, shows a color-coded diff, then generates DDL to align the target (dry-run by default).

Cross-dialect demo:

docker run -d --name foxschema \
-p 3210:3210 \
-v foxschema_data:/data \
5nickels/foxschema:latest
Open http://localhost:3210. Guide: docs/DEPLOYMENT.md.
PostgreSQL · MySQL · MariaDB · SQL Server · Azure SQL · Oracle · IBM Db2 · SQLite · ClickHouse · Amazon Redshift
One product — Docker image includes Db2 on linux/amd64.
The published foxschema CLI is built from TypeScript and ships as Node ESM
("type": "module") with a types entry for tooling. Native drivers may load as
CommonJS at runtime. Requires Node ≥ 22.5.
| Workspace | Role |
|---|---|
packages/sql | Dialect knowledge: SQL generation, compare, splitting, type mapping (pure, zero deps) |
packages/db | Node runtime: drivers, pooling, migration execution (depends on packages/sql) |
apps/web | Express API + React UI (CLI launcher + Docker) |
apps/cli | foxschema CLI, desktop shortcut, TUI |
apps/e2e | Playwright tests against dockerized databases |
Maintainers: docs/PUBLISH.md · docs/ARCHITECTURE.md.
Copyright 2024–2026 Huy Phan <huyplb@gmail.com> and tedious-code
contributors. See NOTICE and LICENSE (Apache-2.0).
Keep copyright / NOTICE / LICENSE when you fork or redistribute — stripping authorship notices is not allowed under the License.
TypeScript
96.9%
FoxSchema — database schema diff & migration tool (monorepo: web, desktop, cli + core/shared).
See the codeCompare schemas · generate migrations · run SQL — across 10 dialects.
Install once, then open the local web UI (foxschema) for Schema Sync and the
SQL Editor. Self-host with Docker when you need a server.
foxschema.com · Install · User guide · Publish · Contributing
Requires Node.js ≥ 22.5 (npm / Homebrew). Docker needs no Node.
# npm — macOS, Windows, Linux (arm64 + x64)
npm install -g foxschema
# Homebrew — macOS (formula in this repo; Homebrew 6+ needs trust once)
brew tap tedious-code/foxschema https://github.com/tedious-code/foxschema
brew trust tedious-code/foxschema
brew install foxschema
# Docker — servers (linux/amd64, includes Db2)
docker pull 5nickels/foxschema:latest
Windows:
winget install OpenJS.NodeJS.LTS
npm install -g foxschema
Full matrix: docs/INSTALL.md.
foxschema # start UI on http://localhost:3210 and open the browser
foxschema shortcut # put a Fox icon on your Desktop
foxschema stop # stop the background server
foxschema doctor
Headless / CI:
foxschema compare --source a --target b
foxschema migrate --source a --target b
foxschema tui
A full query workbench next to Schema Sync — not a thin prompt.

| Feature | What you get |
|---|---|
| Multi-destination Run | Same SQL against every checked connection; By-cred or Side-by-side results |
| Notebook cells | SQL + -- @js / -- @ts / -- @node cells with per-cell ▶ and Out [n] |
| FoxScript | Monaco language, fences, markers, schema-aware tokens |
| Data Peek | Cmd/Ctrl-click a table in Schema, or click rust FK cells in results; edit rows when allowed |
| Peek tools | WHERE / ORDER BY / LIMIT, Prev/Next, drag ⋮⋮ to arrange, resize |
| Query files | CSV / JSON / fixed-width → temp Files: SQLite or bulk-load into a saved credential |
| Schema explorer | Insert names, autocomplete, edit table / view source |
| Variables & secrets | ${{name}}, @set, session secrets, code-cell vars |
| Safe mode | Confirm writes; bookmarks & samples included |
| Access control | Optional admin / editor / viewer roles when multi-user login is on |
Walkthrough: User guide → SQL Editor.
Point Fox at a source and a target. It introspects both, shows a color-coded diff, then generates DDL to align the target (dry-run by default).

Cross-dialect demo:

docker run -d --name foxschema \
-p 3210:3210 \
-v foxschema_data:/data \
5nickels/foxschema:latest
Open http://localhost:3210. Guide: docs/DEPLOYMENT.md.
PostgreSQL · MySQL · MariaDB · SQL Server · Azure SQL · Oracle · IBM Db2 · SQLite · ClickHouse · Amazon Redshift
One product — Docker image includes Db2 on linux/amd64.
The published foxschema CLI is built from TypeScript and ships as Node ESM
("type": "module") with a types entry for tooling. Native drivers may load as
CommonJS at runtime. Requires Node ≥ 22.5.
| Workspace | Role |
|---|---|
packages/sql | Dialect knowledge: SQL generation, compare, splitting, type mapping (pure, zero deps) |
packages/db | Node runtime: drivers, pooling, migration execution (depends on packages/sql) |
apps/web | Express API + React UI (CLI launcher + Docker) |
apps/cli | foxschema CLI, desktop shortcut, TUI |
apps/e2e | Playwright tests against dockerized databases |
Maintainers: docs/PUBLISH.md · docs/ARCHITECTURE.md.
Copyright 2024–2026 Huy Phan <huyplb@gmail.com> and tedious-code
contributors. See NOTICE and LICENSE (Apache-2.0).
Keep copyright / NOTICE / LICENSE when you fork or redistribute — stripping authorship notices is not allowed under the License.
TypeScript
96.9%