Home / Class/ PgEnumColumn Class — drizzle-orm Architecture

PgEnumColumn Class — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

graph TD
  f4597e2e_04d1_9f0a_2d80_57f330b139cc["PgEnumColumn"]
  cc1fbfaa_1553_bc17_cd31_5fefac6896d3["enum.ts"]
  f4597e2e_04d1_9f0a_2d80_57f330b139cc -->|defined in| cc1fbfaa_1553_bc17_cd31_5fefac6896d3
  a94bf5c6_7f05_5bb2_c745_962d0df78923["constructor()"]
  f4597e2e_04d1_9f0a_2d80_57f330b139cc -->|method| a94bf5c6_7f05_5bb2_c745_962d0df78923
  1bf5065c_0f7b_2943_096f_b6695c472459["getSQLType()"]
  f4597e2e_04d1_9f0a_2d80_57f330b139cc -->|method| 1bf5065c_0f7b_2943_096f_b6695c472459

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/enum.ts lines 123–142

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

	readonly enum = this.config.enum;
	override readonly enumValues = this.config.enum.enumValues;

	constructor(
		table: AnyPgTable<{ name: T['tableName'] }>,
		config: PgEnumColumnBuilder<T>['config'],
	) {
		super(table, config);
		this.enum = config.enum;
	}

	getSQLType(): string {
		return this.enum.enumName;
	}
}

Domain

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free