Skip to main content
Drizzle Kit configuration is defined in 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 API
  • d1-http: Cloudflare D1
  • expo: React Native Expo SQLite
  • pglite: PGlite (in-process Postgres)
  • durable-sqlite: Durable Objects SQLite

Database Credentials

PostgreSQL

MySQL / SingleStore

SQLite

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: 'index' | 'timestamp' | 'supabase' | 'unix' | 'none'
Examples:
  • index: 0001_migration.sql, 0002_migration.sql
  • timestamp: 20240304120000_migration.sql
  • supabase: 20240304120000_migration.sql (Supabase format)
  • unix: 1709553600_migration.sql
  • none: 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_columns
  • geometry_columns
  • spatial_ref_sys

Introspection Options

introspect

object
Configure schema introspection behavior.
string
default:"camel"
Column name casing in generated schema.Type: 'camel' | 'preserve'
  • camel: Converts user_name to userName
  • preserve: 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 string

Complete Examples

PostgreSQL Production

Multi-Project Setup

Turso Edge

Cloudflare D1

TypeScript Types

Environment Variables

Load environment variables using dotenv:
Or use a .env file: