BuildSchema Type — drizzle-orm Architecture
Architecture documentation for the BuildSchema type/interface in schema.types.internal.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 24769c2e_5608_89d4_a1a6_4d0252f0ddbe["BuildSchema"] acfeaa81_8bd9_605a_74e7_52a36a49babb["schema.types.internal.ts"] 24769c2e_5608_89d4_a1a6_4d0252f0ddbe -->|defined in| acfeaa81_8bd9_605a_74e7_52a36a49babb style 24769c2e_5608_89d4_a1a6_4d0252f0ddbe fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-zod/src/schema.types.internal.ts lines 40–66
export type BuildSchema<
TType extends 'select' | 'insert' | 'update',
TColumns extends Record<string, any>,
TRefinements extends Record<string, any> | undefined,
TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined,
> = z.ZodObject<
Simplify<
{
[
K in keyof TColumns as ColumnIsGeneratedAlwaysAs<TColumns[K]> extends true ? TType extends 'select' ? K
: never
: K
]: TColumns[K] extends infer TColumn extends Column
? IsRefinementDefined<TRefinements, K> extends true
? Assume<HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn>, z.ZodType>
: HandleColumn<TType, TColumn, TCoerce>
: TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<
TType,
GetSelection<TObject>,
TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined,
TCoerce
>
: z.ZodAny;
}
>,
{ out: {}; in: {} }
>;
Defined In
Source
Frequently Asked Questions
What is the BuildSchema type?
BuildSchema is a type/interface in the drizzle-orm codebase, defined in drizzle-zod/src/schema.types.internal.ts.
Where is BuildSchema defined?
BuildSchema is defined in drizzle-zod/src/schema.types.internal.ts at line 40.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free