Home / Type/ BuildColumn Type — drizzle-orm Architecture

BuildColumn Type — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

drizzle-orm/src/column-builder.ts lines 319–371

export type BuildColumn<
	TTableName extends string,
	TBuilder extends ColumnBuilderBase,
	TDialect extends Dialect,
> = TDialect extends 'pg' ? PgColumn<
		MakeColumnConfig<TBuilder['_'], TTableName>,
		{},
		Simplify<Omit<TBuilder['_'], keyof MakeColumnConfig<TBuilder['_'], TTableName> | 'brand' | 'dialect'>>
	>
	: TDialect extends 'mysql' ? MySqlColumn<
			MakeColumnConfig<TBuilder['_'], TTableName>,
			{},
			Simplify<
				Omit<
					TBuilder['_'],
					| keyof MakeColumnConfig<TBuilder['_'], TTableName>
					| 'brand'
					| 'dialect'
					| 'primaryKeyHasDefault'
					| 'mysqlColumnBuilderBrand'
				>
			>
		>
	: TDialect extends 'sqlite' ? SQLiteColumn<
			MakeColumnConfig<TBuilder['_'], TTableName>,
			{},
			Simplify<Omit<TBuilder['_'], keyof MakeColumnConfig<TBuilder['_'], TTableName> | 'brand' | 'dialect'>>
		>
	: TDialect extends 'common' ? Column<
			MakeColumnConfig<TBuilder['_'], TTableName>,
			{},
			Simplify<Omit<TBuilder['_'], keyof MakeColumnConfig<TBuilder['_'], TTableName> | 'brand' | 'dialect'>>
		>
	: TDialect extends 'singlestore' ? SingleStoreColumn<
			MakeColumnConfig<TBuilder['_'], TTableName>,
			{},
			Simplify<
				Omit<
					TBuilder['_'],
					| keyof MakeColumnConfig<TBuilder['_'], TTableName>
					| 'brand'
					| 'dialect'
					| 'primaryKeyHasDefault'
					| 'singlestoreColumnBuilderBrand'
				>
			>
		>
	: TDialect extends 'gel' ? GelColumn<
			MakeColumnConfig<TBuilder['_'], TTableName>,
			{},
			Simplify<Omit<TBuilder['_'], keyof MakeColumnConfig<TBuilder['_'], TTableName> | 'brand' | 'dialect'>>
		>
	: never;

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free