drizzle.config.ts (or .js/.json) at the root of your project.
Quick Start
Configuration API
defineConfig
Type-safe configuration helper function.Core Options
dialect
string
required
Database dialect for all commands.Type:
'postgresql' | 'mysql' | 'sqlite' | 'turso' | 'singlestore' | 'gel'schema
string | string[]
Path(s) to your schema files. Supports glob patterns.
out
string
default:"drizzle"
Output folder for migrations and introspection files.
driver
string
Explicit driver for specific database environments.Type:
'aws-data-api' | 'd1-http' | 'expo' | 'pglite' | 'durable-sqlite'Only required for specific drivers:aws-data-api: AWS RDS Data APId1-http: Cloudflare D1expo: React Native Expo SQLitepglite: PGlite (in-process Postgres)durable-sqlite: Durable Objects SQLite
Database Credentials
PostgreSQL
- Connection String
- Connection Parameters
- AWS Data API
- PGlite
MySQL / SingleStore
- Connection String
- Connection Parameters
SQLite
- Local File
- Cloudflare D1
- Expo
Turso (LibSQL)
string
required
Turso database URL
string
Turso authentication token
Migration Options
migrations
object
Configure migration storage and file naming.
string
default:"__drizzle_migrations"
Custom migrations table name.
string
default:"drizzle"
Custom schema for migrations table (PostgreSQL only).
string
default:"index"
Migration file naming prefix.Type: Examples:
'index' | 'timestamp' | 'supabase' | 'unix' | 'none'index:0001_migration.sql,0002_migration.sqltimestamp:20240304120000_migration.sqlsupabase:20240304120000_migration.sql(Supabase format)unix:1709553600_migration.sqlnone:migration.sql
breakpoints
boolean
default:true
Enable/disable SQL breakpoints in migrations.Required for databases that don’t support multiple DDL statements in one transaction (MySQL, SQLite, SingleStore).
Filtering Options
tablesFilter
string | string[]
Filter tables using glob patterns.Useful for multi-project schemas or excluding specific tables.
schemaFilter
string | string[]
default:["public"]
PostgreSQL schema filters for introspect/push commands.
extensionsFilters
'postgis'[]
Filter out extension-related internal tables.This excludes PostGIS system tables:
geography_columnsgeometry_columnsspatial_ref_sys
Introspection Options
introspect
object
Configure schema introspection behavior.
string
default:"camel"
Column name casing in generated schema.Type:
'camel' | 'preserve'camel: Convertsuser_nametouserNamepreserve: Keeps original database casing
Advanced Options
casing
string
Global column serialization casing.Type:
'camelCase' | 'snake_case'verbose
boolean
default:false
Print all SQL statements during push commands.
strict
boolean
default:false
Always require confirmation for push commands.
entities
object
Configure entity introspection (PostgreSQL only).
boolean | object
default:false
Introspect database roles.Providers:
'supabase' | 'neon' | custom stringComplete Examples
PostgreSQL Production
Multi-Project Setup
Turso Edge
Cloudflare D1
TypeScript Types
Environment Variables
Load environment variables usingdotenv:
.env file: