Home / Class/ PgEnumColumnBuilder Class — drizzle-orm Architecture

PgEnumColumnBuilder Class — drizzle-orm Architecture

Architecture documentation for the PgEnumColumnBuilder class in enum.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  85dc88a1_3f6a_3431_b756_dacbb50b93ee["PgEnumColumnBuilder"]
  cc1fbfaa_1553_bc17_cd31_5fefac6896d3["enum.ts"]
  85dc88a1_3f6a_3431_b756_dacbb50b93ee -->|defined in| cc1fbfaa_1553_bc17_cd31_5fefac6896d3
  6089fdba_fc61_fb7d_f7d6_e8519d4f8ead["constructor()"]
  85dc88a1_3f6a_3431_b756_dacbb50b93ee -->|method| 6089fdba_fc61_fb7d_f7d6_e8519d4f8ead
  7292130b_d751_cab3_0b3e_4bb50084e885["build()"]
  85dc88a1_3f6a_3431_b756_dacbb50b93ee -->|method| 7292130b_d751_cab3_0b3e_4bb50084e885

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/enum.ts lines 102–121

export class PgEnumColumnBuilder<
	T extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] },
> extends PgColumnBuilder<T, { enum: PgEnum<T['enumValues']> }> {
	static override readonly [entityKind]: string = 'PgEnumColumnBuilder';

	constructor(name: T['name'], enumInstance: PgEnum<T['enumValues']>) {
		super(name, 'string', 'PgEnumColumn');
		this.config.enum = enumInstance;
	}

	/** @internal */
	override build<TTableName extends string>(
		table: AnyPgTable<{ name: TTableName }>,
	): PgEnumColumn<MakeColumnConfig<T, TTableName>> {
		return new PgEnumColumn<MakeColumnConfig<T, TTableName>>(
			table,
			this.config as ColumnBuilderRuntimeConfig<any, any>,
		);
	}
}

Domain

Frequently Asked Questions

What is the PgEnumColumnBuilder class?
PgEnumColumnBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/columns/enum.ts.
Where is PgEnumColumnBuilder defined?
PgEnumColumnBuilder is defined in drizzle-orm/src/pg-core/columns/enum.ts at line 102.

Analyze Your Own Codebase

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

Try Supermodel Free