MCPcopy
hub / github.com/drizzle-team/drizzle-orm / construct

Function construct

drizzle-orm/src/better-sqlite3/driver.ts:30–66  ·  view source on GitHub ↗
(
	client: Database,
	config: Omit<DrizzleConfig<TSchema>, 'cache'> = {},
)

Source from the content-addressed store, hash-verified

28}
29
30function construct<TSchema extends Record<string, unknown> = Record<string, never>>(
31 client: Database,
32 config: Omit<DrizzleConfig<TSchema>, 'cache'> = {},
33): BetterSQLite3Database<TSchema> & {
34 $client: Database;
35} {
36 const dialect = new SQLiteSyncDialect({ casing: config.casing });
37 let logger;
38 if (config.logger === true) {
39 logger = new DefaultLogger();
40 } else if (config.logger !== false) {
41 logger = config.logger;
42 }
43
44 let schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;
45 if (config.schema) {
46 const tablesConfig = extractTablesRelationalConfig(
47 config.schema,
48 createTableRelationsHelpers,
49 );
50 schema = {
51 fullSchema: config.schema,
52 schema: tablesConfig.tables,
53 tableNamesMap: tablesConfig.tableNamesMap,
54 };
55 }
56
57 const session = new BetterSQLiteSession(client, dialect, schema, { logger });
58 const db = new BetterSQLite3Database('sync', dialect, session, schema);
59 (<any> db).$client = client;
60 // (<any> db).$cache = config.cache;
61 // if ((<any> db).$cache) {
62 // (<any> db).$cache['invalidate'] = config.cache?.onMutate;
63 // }
64
65 return db as any;
66}
67
68export function drizzle<
69 TSchema extends Record<string, unknown> = Record<string, never>,

Callers 2

drizzleFunction · 0.70
mockFunction · 0.70

Calls 1

Tested by

no test coverage detected