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

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, MySQL, and MariaDB with one toolset.

One Workflow, Every Engine

State-based schema management works the same way on every supported platform — 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 nullable 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, MySQL, or MariaDB 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 on every supported platform.

Supported Versions

SchemaSmith supports a wide range of versions on every engine it targets.

  • SQL Server 2008 and higher (compatibility level 100 or higher)
  • PostgreSQL 12 and higher
  • MySQL 5.7 and higher
  • MariaDB 10.2 and higher

Simple, Transparent Licensing

Free for any purpose, any organization, any scale. One license, every supported platform, 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.

Free Hands-On Courses

Five free, self-paced courses walk you from first deployment to team operations. Each includes hands-on labs in a throwaway sandbox covering every supported engine.

  1. 1
    Deploy your first schema
  2. 2
    Templates, tokens, and data
  3. 3
    Team workflow and CI/CD
  4. 4
    Practical recipes and patterns
  5. 5
    Migrate from other tools