Home / Type/ MakeColumnConfig Type — drizzle-orm Architecture

MakeColumnConfig Type — drizzle-orm Architecture

Architecture documentation for the MakeColumnConfig type/interface in column-builder.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  89f54c0d_8f9d_cc8a_543a_4f0ffbf801b8["MakeColumnConfig"]
  b1f62532_46b8_598e_816c_9da2dce0b761["column-builder.ts"]
  89f54c0d_8f9d_cc8a_543a_4f0ffbf801b8 -->|defined in| b1f62532_46b8_598e_816c_9da2dce0b761
  style 89f54c0d_8f9d_cc8a_543a_4f0ffbf801b8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/column-builder.ts lines 55–79

export type MakeColumnConfig<
	T extends ColumnBuilderBaseConfig<ColumnDataType, string>,
	TTableName extends string,
	TData = T extends { $type: infer U } ? U : T['data'],
> = {
	name: T['name'];
	tableName: TTableName;
	dataType: T['dataType'];
	columnType: T['columnType'];
	data: TData;
	driverParam: T['driverParam'];
	notNull: T extends { notNull: true } ? true : false;
	hasDefault: T extends { hasDefault: true } ? true : false;
	isPrimaryKey: T extends { isPrimaryKey: true } ? true : false;
	isAutoincrement: T extends { isAutoincrement: true } ? true : false;
	hasRuntimeDefault: T extends { hasRuntimeDefault: true } ? true : false;
	enumValues: T['enumValues'];
	baseColumn: T extends { baseBuilder: infer U extends ColumnBuilderBase } ? BuildColumn<TTableName, U, 'common'>
		: never;
	identity: T extends { identity: 'always' } ? 'always' : T extends { identity: 'byDefault' } ? 'byDefault' : undefined;
	generated: T extends { generated: infer G } ? unknown extends G ? undefined
		: G extends undefined ? undefined
		: G
		: undefined;
} & {};

Frequently Asked Questions

What is the MakeColumnConfig type?
MakeColumnConfig is a type/interface in the drizzle-orm codebase, defined in drizzle-orm/src/column-builder.ts.
Where is MakeColumnConfig defined?
MakeColumnConfig is defined in drizzle-orm/src/column-builder.ts at line 55.

Analyze Your Own Codebase

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

Try Supermodel Free