SQLMesh

SQLMesh as an Alternative Framework

SQLMesh (github.com/SQLMesh/sqlmesh (https://github.com/SQLMesh/sqlmesh 3,305 ), Apache 2.0) is a transformation framework that now lives at the Linux Foundation; its creator, Tobiko Data, is part of Fivetran 16,237 . The latest release is 0.236.2 (8 September 2026). Where dbt 37,942 treats SQL as text to template, SQLMesh parses every model with its SQLGlot library, so it knows each model's columns, can transpile between dialects and can classify a change as breaking or non-breaking. It also keeps state: which version of each model was built into which physical table and for which time intervals. A model is SQL with a MODEL header instead of a YAML file:

models/genre_month.sql: a SQLMesh model over BookNest's DuckDB tablesSQL
MODEL (name booknest.genre_month, kind FULL, grain (genre, month));
SELECT genre, date_trunc('month', order_date) AS month, sum(gross_amount) AS gross
FROM booknest.stg_sales
GROUP BY genre, month
Installing SQLMesh and applying the first plan to prodShell
pip install sqlmesh
sqlmesh create_external_models     # record the source tables' columns
sqlmesh plan --auto-apply
Output
**Models needing backfill:**
* `booknest.genre_month`: [full refresh]
* `booknest.stg_sales`: [recreate view]
[1/1] booknest.stg_sales     [recreate view]                            0.24s
[1/1] booknest.genre_month   [full refresh]                             0.66s
...
Virtual layer updated

plan works like Terraform 4,548 's: it diffs the project against the environment's state, shows what must be built, then applies it. The project, demos/ch04/sqlmesh/, reads a copy of booknest.duckdb through a stg_sales view; sqlmesh init -t dbt can also load an existing dbt project.