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 982fac5b_568d_ee62_70e1_e75de15f1b75["drizzle()"] 89e1a0a3_2876_d680_cdf6_8f2b181caa6d["driver.ts"] 982fac5b_568d_ee62_70e1_e75de15f1b75 -->|defined in| 89e1a0a3_2876_d680_cdf6_8f2b181caa6d style 982fac5b_568d_ee62_70e1_e75de15f1b75 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/d1/driver.ts lines 39–78
export function drizzle<
TSchema extends Record<string, unknown> = Record<string, never>,
TClient extends AnyD1Database = AnyD1Database,
>(
client: TClient,
config: DrizzleConfig<TSchema> = {},
): DrizzleD1Database<TSchema> & {
$client: TClient;
} {
const dialect = new SQLiteAsyncDialect({ casing: config.casing });
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 SQLiteD1Session(client as D1Database, dialect, schema, { logger, cache: config.cache });
const db = new DrizzleD1Database('async', dialect, session, schema) as DrizzleD1Database<TSchema>;
(<any> db).$client = client;
(<any> db).$cache = config.cache;
if ((<any> db).$cache) {
(<any> db).$cache['invalidate'] = config.cache?.onMutate;
}
return db as any;
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does drizzle() do?
drizzle() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/d1/driver.ts.
Where is drizzle() defined?
drizzle() is defined in drizzle-orm/src/d1/driver.ts at line 39.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free