Home / Class/ MySqlDecimalBigInt Class — drizzle-orm Architecture

MySqlDecimalBigInt Class — drizzle-orm Architecture

Architecture documentation for the MySqlDecimalBigInt class in decimal.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  6cb2dfb6_f6c1_a25f_5171_47ae2ff6b1a7["MySqlDecimalBigInt"]
  1cab2e69_931d_80bd_c0f4_f9093012117e["decimal.ts"]
  6cb2dfb6_f6c1_a25f_5171_47ae2ff6b1a7 -->|defined in| 1cab2e69_931d_80bd_c0f4_f9093012117e
  0d5a1ead_463a_9ac7_3362_784b8e622437["getSQLType()"]
  6cb2dfb6_f6c1_a25f_5171_47ae2ff6b1a7 -->|method| 0d5a1ead_463a_9ac7_3362_784b8e622437

Relationship Graph

Source Code

drizzle-orm/src/mysql-core/columns/decimal.ts lines 164–189

export class MySqlDecimalBigInt<T extends ColumnBaseConfig<'bigint', 'MySqlDecimalBigInt'>>
	extends MySqlColumnWithAutoIncrement<T, MySqlDecimalConfig>
{
	static override readonly [entityKind]: string = 'MySqlDecimalBigInt';

	readonly precision: number | undefined = this.config.precision;
	readonly scale: number | undefined = this.config.scale;
	readonly unsigned: boolean | undefined = this.config.unsigned;

	override mapFromDriverValue = BigInt;

	override mapToDriverValue = String;

	getSQLType(): string {
		let type = '';
		if (this.precision !== undefined && this.scale !== undefined) {
			type += `decimal(${this.precision},${this.scale})`;
		} else if (this.precision === undefined) {
			type += 'decimal';
		} else {
			type += `decimal(${this.precision})`;
		}
		type = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;
		return this.unsigned ? `${type} unsigned` : type;
	}
}

Domain

Frequently Asked Questions

What is the MySqlDecimalBigInt class?
MySqlDecimalBigInt is a class in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/columns/decimal.ts.
Where is MySqlDecimalBigInt defined?
MySqlDecimalBigInt is defined in drizzle-orm/src/mysql-core/columns/decimal.ts at line 164.

Analyze Your Own Codebase

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

Try Supermodel Free