MySqlDecimalNumber Class — drizzle-orm Architecture
Architecture documentation for the MySqlDecimalNumber class in decimal.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 651825c6_a1e1_f899_e012_bf1ba281c5c6["MySqlDecimalNumber"] 1cab2e69_931d_80bd_c0f4_f9093012117e["decimal.ts"] 651825c6_a1e1_f899_e012_bf1ba281c5c6 -->|defined in| 1cab2e69_931d_80bd_c0f4_f9093012117e f248043e_e22e_33c1_e29a_241fe0c879ac["mapFromDriverValue()"] 651825c6_a1e1_f899_e012_bf1ba281c5c6 -->|method| f248043e_e22e_33c1_e29a_241fe0c879ac f9f168e6_6b8d_79e9_3e77_4b19718c9391["getSQLType()"] 651825c6_a1e1_f899_e012_bf1ba281c5c6 -->|method| f9f168e6_6b8d_79e9_3e77_4b19718c9391
Relationship Graph
Source Code
drizzle-orm/src/mysql-core/columns/decimal.ts lines 101–130
export class MySqlDecimalNumber<T extends ColumnBaseConfig<'number', 'MySqlDecimalNumber'>>
extends MySqlColumnWithAutoIncrement<T, MySqlDecimalConfig>
{
static override readonly [entityKind]: string = 'MySqlDecimalNumber';
readonly precision: number | undefined = this.config.precision;
readonly scale: number | undefined = this.config.scale;
readonly unsigned: boolean | undefined = this.config.unsigned;
override mapFromDriverValue(value: unknown): number {
if (typeof value === 'number') return value;
return Number(value);
}
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
Source
Frequently Asked Questions
What is the MySqlDecimalNumber class?
MySqlDecimalNumber is a class in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/columns/decimal.ts.
Where is MySqlDecimalNumber defined?
MySqlDecimalNumber is defined in drizzle-orm/src/mysql-core/columns/decimal.ts at line 101.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free