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
  2f6e8052_53b2_cccd_aa69_e0fc6c4eb606["drizzle()"]
  9bd9488e_a0fa_b4b6_7790_4361efcb51f2["driver.ts"]
  2f6e8052_53b2_cccd_aa69_e0fc6c4eb606 -->|defined in| 9bd9488e_a0fa_b4b6_7790_4361efcb51f2
  b1cceb78_bbf5_9c3a_fc8b_674d4b3d47a6["construct()"]
  2f6e8052_53b2_cccd_aa69_e0fc6c4eb606 -->|calls| b1cceb78_bbf5_9c3a_fc8b_674d4b3d47a6
  style 2f6e8052_53b2_cccd_aa69_e0fc6c4eb606 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/mysql2/driver.ts lines 123–173

export function drizzle<
	TSchema extends Record<string, unknown> = Record<string, never>,
	TClient extends AnyMySql2Connection = CallbackPool,
>(
	...params: [
		TClient | string,
	] | [
		TClient | string,
		MySql2DrizzleConfig<TSchema>,
	] | [
		(
			& MySql2DrizzleConfig<TSchema>
			& ({
				connection: string | PoolOptions;
			} | {
				client: TClient;
			})
		),
	]
): MySql2Database<TSchema> & {
	$client: AnyMySql2Connection extends TClient ? CallbackPool : TClient;
} {
	if (typeof params[0] === 'string') {
		const connectionString = params[0]!;
		const instance = createPool({
			uri: connectionString,
		});

		return construct(instance, params[1]) as any;
	}

	if (isConfig(params[0])) {
		const { connection, client, ...drizzleConfig } = params[0] as
			& { connection?: PoolOptions | string; client?: TClient }
			& MySql2DrizzleConfig<TSchema>;

		if (client) return construct(client, drizzleConfig) as any;

		const instance = typeof connection === 'string'
			? createPool({
				uri: connection,
				supportBigNumbers: true,
			})
			: createPool(connection!);
		const db = construct(instance, drizzleConfig);

		return db as any;
	}

	return construct(params[0] as TClient, params[1] as MySql2DrizzleConfig<TSchema> | undefined) as any;
}

Domain

Subdomains

Calls

Frequently Asked Questions

What does drizzle() do?
drizzle() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/mysql2/driver.ts.
Where is drizzle() defined?
drizzle() is defined in drizzle-orm/src/mysql2/driver.ts at line 123.
What does drizzle() call?
drizzle() calls 1 function(s): construct.

Analyze Your Own Codebase

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

Try Supermodel Free