Home / Class/ MySqlSerialBuilder Class — drizzle-orm Architecture

MySqlSerialBuilder Class — drizzle-orm Architecture

Architecture documentation for the MySqlSerialBuilder class in serial.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  501e8466_eb5f_c315_7ae1_b052111e91b1["MySqlSerialBuilder"]
  658c209d_cad0_08df_83c1_8e967e01e3fd["serial.ts"]
  501e8466_eb5f_c315_7ae1_b052111e91b1 -->|defined in| 658c209d_cad0_08df_83c1_8e967e01e3fd
  744d798e_4694_91bd_522d_f4b14b0e8de6["constructor()"]
  501e8466_eb5f_c315_7ae1_b052111e91b1 -->|method| 744d798e_4694_91bd_522d_f4b14b0e8de6
  d886a10f_fa1f_2cbc_0a17_afd50eeecd5a["build()"]
  501e8466_eb5f_c315_7ae1_b052111e91b1 -->|method| d886a10f_fa1f_2cbc_0a17_afd50eeecd5a

Relationship Graph

Source Code

drizzle-orm/src/mysql-core/columns/serial.ts lines 32–49

export class MySqlSerialBuilder<T extends ColumnBuilderBaseConfig<'number', 'MySqlSerial'>>
	extends MySqlColumnBuilderWithAutoIncrement<T>
{
	static override readonly [entityKind]: string = 'MySqlSerialBuilder';

	constructor(name: T['name']) {
		super(name, 'number', 'MySqlSerial');
		this.config.hasDefault = true;
		this.config.autoIncrement = true;
	}

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

Domain

Frequently Asked Questions

What is the MySqlSerialBuilder class?
MySqlSerialBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/columns/serial.ts.
Where is MySqlSerialBuilder defined?
MySqlSerialBuilder is defined in drizzle-orm/src/mysql-core/columns/serial.ts at line 32.

Analyze Your Own Codebase

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

Try Supermodel Free