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

createInsertSchema() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  51053726_b279_4246_4a15_cb3178d277ca["createInsertSchema()"]
  a1e9a186_355d_5f4f_7cf0_889804754896["schema.ts"]
  51053726_b279_4246_4a15_cb3178d277ca -->|defined in| a1e9a186_355d_5f4f_7cf0_889804754896
  13cc8910_95ed_8a5c_5430_cbe853d889a2["getColumns()"]
  51053726_b279_4246_4a15_cb3178d277ca -->|calls| 13cc8910_95ed_8a5c_5430_cbe853d889a2
  13946ad5_6a5e_4778_cacd_6820ecd398d1["handleColumns()"]
  51053726_b279_4246_4a15_cb3178d277ca -->|calls| 13946ad5_6a5e_4778_cacd_6820ecd398d1
  style 51053726_b279_4246_4a15_cb3178d277ca fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-valibot/src/schema.ts lines 73–83

export const createInsertSchema: CreateInsertSchema = (
	entity: Table,
	refine?: Record<string, any>,
) => {
	const columns = getColumns(entity);
	return handleColumns(columns, refine ?? {}, {
		never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always',
		optional: (column) => !column.notNull || (column.notNull && column.hasDefault),
		nullable: (column) => !column.notNull,
	}) as any;
};

Subdomains

Frequently Asked Questions

What does createInsertSchema() do?
createInsertSchema() is a function in the drizzle-orm codebase, defined in drizzle-valibot/src/schema.ts.
Where is createInsertSchema() defined?
createInsertSchema() is defined in drizzle-valibot/src/schema.ts at line 73.
What does createInsertSchema() call?
createInsertSchema() calls 2 function(s): getColumns, handleColumns.

Analyze Your Own Codebase

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

Try Supermodel Free