Home / Class/ PgUUIDBuilder Class — drizzle-orm Architecture

PgUUIDBuilder Class — drizzle-orm Architecture

Architecture documentation for the PgUUIDBuilder class in uuid.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  ef1e88a4_6878_228a_863c_62ef06632359["PgUUIDBuilder"]
  04dcb67f_6250_99e5_0066_29be213bd725["uuid.ts"]
  ef1e88a4_6878_228a_863c_62ef06632359 -->|defined in| 04dcb67f_6250_99e5_0066_29be213bd725
  1152d9fe_3716_f037_acc4_804f88378537["constructor()"]
  ef1e88a4_6878_228a_863c_62ef06632359 -->|method| 1152d9fe_3716_f037_acc4_804f88378537
  4654cef7_7196_df7c_7d5d_4d521a06bdc1["defaultRandom()"]
  ef1e88a4_6878_228a_863c_62ef06632359 -->|method| 4654cef7_7196_df7c_7d5d_4d521a06bdc1
  4b63a34b_6e1d_328d_0bcd_41dcce92625c["build()"]
  ef1e88a4_6878_228a_863c_62ef06632359 -->|method| 4b63a34b_6e1d_328d_0bcd_41dcce92625c

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/uuid.ts lines 17–37

export class PgUUIDBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgUUID'>> extends PgColumnBuilder<T> {
	static override readonly [entityKind]: string = 'PgUUIDBuilder';

	constructor(name: T['name']) {
		super(name, 'string', 'PgUUID');
	}

	/**
	 * Adds `default gen_random_uuid()` to the column definition.
	 */
	defaultRandom(): ReturnType<this['default']> {
		return this.default(sql`gen_random_uuid()`) as ReturnType<this['default']>;
	}

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

Domain

Frequently Asked Questions

What is the PgUUIDBuilder class?
PgUUIDBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/columns/uuid.ts.
Where is PgUUIDBuilder defined?
PgUUIDBuilder is defined in drizzle-orm/src/pg-core/columns/uuid.ts at line 17.

Analyze Your Own Codebase

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

Try Supermodel Free