Free Schema-as-Code for SQL Server, PostgreSQL, and MySQL

Declare the schema you want. SchemaSmith computes the deployment. No hand-written migrations, no dependency chains, no guessing what your database looks like right now.

SchemaSmith development cycle: declare schema in source control, deploy across SQL Server, PostgreSQL, and MySQL with one toolset.

Three Engines, One Workflow

State-based schema management works the same way across all three platforms — because you're declaring what tables, views, and procedures should look like, not writing procedural change scripts.

Declare, Don't Migrate

The state-based model flips the script. Instead of hand-writing ALTER statements that assume you know what the target database looks like right now, you declare your desired schema in JSON.

SchemaSmith compares that declaration to the live database, computes the delta, and generates the correct DDL automatically. No migration chains. No deployment archaeology.

Extract Once, Shape Anywhere

SchemaTongs reads your live database and casts it into a clean, organized package — tables as JSON, stored procedures as SQL files, everything structured for humans and source control to understand.

Run it once against a production instance or a dev copy and you have a single source of truth to version, review, and deploy forward.

Deploy with Confidence

SchemaQuench reads your declared schema and applies only the changes needed to converge the database to match.

Same package works on dev, staging, and production — same engine, correct results everywhere. Boring, predictable, reliable deployments. That's the goal.

Resume Failed Deployments

Long deployments can fail halfway through — transient network blips, lock timeouts, a migration script tripping on bad data. SchemaQuench checkpoints each completed step as it runs, so you don't have to restart from the beginning.

Use --ResumeQuench to pick up exactly where you left off. Completed work is skipped; incomplete steps execute next. The checkpoint is cleaned up automatically after a successful run, leaving no trace.

Source Control Meets Database Design

Your schema lives in source control the same way your application code does. Pull requests review table structure directly, not migration procedural steps.

Developers think in terms of design. DBAs review design. Version history tracks what each table looked like over time.

Seed Data Embedded in Deployment

DataTongs captures reference data — lookup tables, configuration rows, seed datasets — and extracts them as deployable synchronization scripts.

Capture once, deploy alongside your schema. Reference data and table structure move together, always in sync.

FK-Aware Data Delivery

Reference data with foreign-key dependencies makes load order a graph problem — insert rows in the wrong sequence and the inserts fail. DataTongs --ConfigureDataDelivery writes a DataDelivery block into each table's JSON, capturing how that table's data should be delivered.

SchemaQuench reads those blocks at deploy time and handles the dependencies in two passes — so circular relationships and complex dependency graphs deploy without hand-coded sequencing.

Built for CI/CD from the Ground Up

Self-contained executables, XCOPY deployment, command-line driven. SchemaSmith integrates with GitHub Actions, Azure DevOps, GitLab CI, Jenkins, and other common CI tools.

Declare your schema in source control, let your pipeline deploy it. Works on Windows, macOS, and Linux.

The SchemaSmith Toolset

Three purpose-built components that cover the entire schema lifecycle — extraction, design, deployment, and reference data.

SchemaTongs Icon

SchemaTongs

Grips your live database and casts it into clean, organized metadata — tables as JSON, stored procedures and views as SQL files. Extract once from SQL Server, PostgreSQL, or MySQL and get a structured schema package ready for source control.

SchemaQuench Icon

SchemaQuench

Deploys your declared schema to any compatible server. Reads your declaration, compares it to the target database, and applies only the changes needed. Same package, correct results everywhere — dev, staging, production.

DataTongs Icon

DataTongs

Extracts reference data and seed datasets as deployable synchronization scripts. Lookup tables, configuration rows, and static data move alongside your schema, always in sync across all three platforms.

Supported Versions

SchemaSmith supports a wide range of versions across all three database engines.

  • SQL Server 2016 and higher (compatibility level 130 or higher)
  • PostgreSQL 15 and higher
  • MySQL 8.0 and higher

Simple, Transparent Licensing

Free for any purpose, any organization, any scale. One license, three platforms, no surprises.

SchemaSmith Community License (SSCL v2.0)

  • Free for any purpose — personal, commercial, internal, educational
  • No usage caps, no organization-size restrictions, no environment limits
  • The code is on GitHub for anyone to read
  • Modify for your own use, contribute improvements back
  • Cannot redistribute SchemaSmith as a standalone product
  • Cannot operate SchemaSmith as an ongoing managed service on behalf of others

Managing databases for your own products and services is always permitted — whether you host them yourself or your customers do. Consultants can help with setup and configuration. The restriction is strictly on redistribution or operating SchemaSmith as a managed service on behalf of third parties.

Want to discuss a use case? Let's talk. We're a developer-first company, not the license police.