Home / Function/ drizzle() — drizzle-orm Function Reference

drizzle() — drizzle-orm Function Reference

Architecture documentation for the drizzle() function in driver.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  04b0eb1a_cd7a_9695_aa94_0136932f82d7["drizzle()"]
  04633f6c_35dc_bba1_868c_c1d9d27cf52d["driver.ts"]
  04b0eb1a_cd7a_9695_aa94_0136932f82d7 -->|defined in| 04633f6c_35dc_bba1_868c_c1d9d27cf52d
  style 04b0eb1a_cd7a_9695_aa94_0136932f82d7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/pg-proxy/driver.ts lines 27–61

export function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(
	callback: RemoteCallback,
	config: DrizzleConfig<TSchema> = {},
	_dialect: () => PgDialect = () => new PgDialect({ casing: config.casing }),
): PgRemoteDatabase<TSchema> {
	const dialect = _dialect();
	let logger;
	if (config.logger === true) {
		logger = new DefaultLogger();
	} else if (config.logger !== false) {
		logger = config.logger;
	}

	let schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;
	if (config.schema) {
		const tablesConfig = extractTablesRelationalConfig(
			config.schema,
			createTableRelationsHelpers,
		);
		schema = {
			fullSchema: config.schema,
			schema: tablesConfig.tables,
			tableNamesMap: tablesConfig.tableNamesMap,
		};
	}

	const session = new PgRemoteSession(callback, dialect, schema, { logger, cache: config.cache });
	const db = new PgRemoteDatabase(dialect, session, schema as any) as PgRemoteDatabase<TSchema>;
	(<any> db).$cache = config.cache;
	if ((<any> db).$cache) {
		(<any> db).$cache['invalidate'] = config.cache?.onMutate;
	}

	return db;
}

Domain

Subdomains

Frequently Asked Questions

What does drizzle() do?
drizzle() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/pg-proxy/driver.ts.
Where is drizzle() defined?
drizzle() is defined in drizzle-orm/src/pg-proxy/driver.ts at line 27.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free