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

createSchemaFactory() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  3256d459_405c_31dd_26e8_34b91d485d81["createSchemaFactory()"]
  8dacc372_d6d5_e273_f9e6_3a10af9bc4a7["schema.ts"]
  3256d459_405c_31dd_26e8_34b91d485d81 -->|defined in| 8dacc372_d6d5_e273_f9e6_3a10af9bc4a7
  164ad1f5_da93_4cf9_b02c_deb88e45cbec["handleEnum()"]
  3256d459_405c_31dd_26e8_34b91d485d81 -->|calls| 164ad1f5_da93_4cf9_b02c_deb88e45cbec
  a1c23736_0b64_ccf3_cdc8_9fef2996891c["getColumns()"]
  3256d459_405c_31dd_26e8_34b91d485d81 -->|calls| a1c23736_0b64_ccf3_cdc8_9fef2996891c
  8f6a4e48_fad1_f6d4_41bd_580208780715["handleColumns()"]
  3256d459_405c_31dd_26e8_34b91d485d81 -->|calls| 8f6a4e48_fad1_f6d4_41bd_580208780715
  style 3256d459_405c_31dd_26e8_34b91d485d81 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-typebox/src/schema.ts lines 115–144

export function createSchemaFactory(options?: CreateSchemaFactoryOptions) {
	const createSelectSchema: CreateSelectSchema = (
		entity: Table | View | PgEnum<[string, ...string[]]>,
		refine?: Record<string, any>,
	) => {
		if (isPgEnum(entity)) {
			return handleEnum(entity, options);
		}
		const columns = getColumns(entity);
		return handleColumns(columns, refine ?? {}, selectConditions, options) as any;
	};

	const createInsertSchema: CreateInsertSchema = (
		entity: Table,
		refine?: Record<string, any>,
	) => {
		const columns = getColumns(entity);
		return handleColumns(columns, refine ?? {}, insertConditions, options) as any;
	};

	const createUpdateSchema: CreateUpdateSchema = (
		entity: Table,
		refine?: Record<string, any>,
	) => {
		const columns = getColumns(entity);
		return handleColumns(columns, refine ?? {}, updateConditions, options) as any;
	};

	return { createSelectSchema, createInsertSchema, createUpdateSchema };
}

Subdomains

Frequently Asked Questions

What does createSchemaFactory() do?
createSchemaFactory() is a function in the drizzle-orm codebase, defined in drizzle-typebox/src/schema.ts.
Where is createSchemaFactory() defined?
createSchemaFactory() is defined in drizzle-typebox/src/schema.ts at line 115.
What does createSchemaFactory() call?
createSchemaFactory() calls 3 function(s): getColumns, handleColumns, handleEnum.

Analyze Your Own Codebase

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

Try Supermodel Free