Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

340 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fox Schema

Compare two database schemas, see exactly what differs, and generate the migration SQL to make them match — across 10 SQL dialects.

Install the CLI, then open the local web UI in your browser (or double-click the Fox desktop shortcut). Self-host with Docker when you need a server.

foxschema.com · Install · Publish · User guide · Deploy · Contributing

Install

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 — after package merge):

winget install TediousCode.FoxSchema

Or Node + npm:

winget install OpenJS.NodeJS.LTS
npm install -g foxschema

Full matrix (curl/wget, shortcut, troubleshooting): docs/INSTALL.md.

Use the app

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

Desktop shortcut: after install, run foxschema shortcut. Double-click Fox Schema anytime to open the UI. If you closed the browser without stop, the server is still running — the shortcut just reopens the browser.

Headless / CI:

foxschema compare --source a --target b
foxschema migrate --source a --target b
foxschema tui

Docker (self-host)

docker run -d --name foxschema \
  -p 3001:3001 \
  -v foxschema_data:/data \
  5nickels/foxschema:latest

Open http://localhost:3001. Guide: docs/DEPLOYMENT.md.

What it does

Point Fox at a source and a target database. It introspects both, shows a color-coded diff — tables, columns, keys, indexes, constraints, views, sequences, functions, procedures, triggers, roles — then generates DDL to align the target, with dry-run by default and optional apply + history.

  • Schema diff — grouped, searchable; drill into column/index/FK changes.
  • Migration generation — reviewable target-dialect DDL.
  • SQL Editor — run queries against one or more saved connections; multi-tab, statement strip, schema explorer (see User guide).
  • Cross-dialect aware — fewer false positives across e.g. Postgres → MySQL.
  • Safe apply — dry-run by default; skip-on-error optional; history recorded.
  • Credentials encrypted at rest — passwords never returned to the browser.

Demo

Fox Schema demo — connect, compare, migration SQL, execute, history

Supported dialects

PostgreSQL · MySQL · MariaDB · SQL Server · Azure SQL · Oracle · IBM Db2 · SQLite · ClickHouse · Amazon Redshift

One product — no separate “Db2 edition”. Docker image includes Db2 on linux/amd64.

How it's built

npm workspaces:

Workspace Role
packages/core Diff / migration engine and dialect providers
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 · packages/core/src/providers/DIALECTS.md.

License

Apache-2.0

Releases

Packages

Used by

Contributors

Languages