D1 - D1 migrations support nested layouts via `migrations_pattern`
You can now point wrangler d1 migrations apply at a nested migrations layout — such as the one produced by Drizzle (migrations/0001_init/migration.sql) — using the new migrations_pattern D1 binding config:
<div><div><span>{</span></div></div><div><div><span> </span><span>"</span><span>d1_databases</span><span>"</span><span>:</span><span> </span><span>[</span></div></div><div><div><span> </span><span>{</span></div></div><div><div><span> </span><span>"</span><span>binding</span><span>"</span><span>:</span><span> </span><span>"DB"</span><span>,</span></div></div><div><div><span> </span><span>"</span><span>database_name</span><span>"</span><span>:</span><span> </span><span>"my-database"</span><span>,</span></div></div><div><div><span> </span><span>"</span><span>database_id</span><span>"</span><span>:</span><span> </span><span>"<UUID>"</span><span>,</span></div></div><div><div><span> </span><span>"</span><span>migrations_dir</span><span>"</span><span>:</span><span> </span><span>"migrations"</span><span>,</span></div></div><div><div><span> </span><span>"</span><span>migrations_pattern</span><span>"</span><span>:</span><span> </span><span>"migrations/*/migration.sql"</span><span>,</span></div></div><div><div><span> </span><span>},</span></div></div><div><div><span> </span><span>],</span></div></div><div><div><span>}</span></div></div>
migrations_pattern is a glob (relative to your Wrangler config file) used to discover migration files. It defaults to ${migrations_dir}/*.sql, so existing projects keep working unchanged. Each migration's name is recorded in the migrations table as a path relative to migrations_dir.
To learn more, visit D1's migrations documentation.
Fetched June 19, 2026


