date.common.ts — drizzle-orm Source File
Architecture documentation for date.common.ts, a typescript file in the drizzle-orm codebase. 6 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR ad03c9b1_961e_2b53_cf32_4012da6d88c5["date.common.ts"] 83c65ad5_22a0_d33f_47b8_c2ed1c8d8bbb["common.ts"] ad03c9b1_961e_2b53_cf32_4012da6d88c5 --> 83c65ad5_22a0_d33f_47b8_c2ed1c8d8bbb 8da43de9_1be1_48fb_1db1_a6bc59f5b306["MySqlColumn"] ad03c9b1_961e_2b53_cf32_4012da6d88c5 --> 8da43de9_1be1_48fb_1db1_a6bc59f5b306 2dc784c6_95e9_4e28_ec81_7caf4acbd426["column-builder.ts"] ad03c9b1_961e_2b53_cf32_4012da6d88c5 --> 2dc784c6_95e9_4e28_ec81_7caf4acbd426 05f0a280_d0c9_693a_a4bf_83cc671012d2["column.ts"] ad03c9b1_961e_2b53_cf32_4012da6d88c5 --> 05f0a280_d0c9_693a_a4bf_83cc671012d2 27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"] ad03c9b1_961e_2b53_cf32_4012da6d88c5 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426 be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"] ad03c9b1_961e_2b53_cf32_4012da6d88c5 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd 3f4b2513_5741_1f8c_8c92_e76673d698a6["timestamp.ts"] 3f4b2513_5741_1f8c_8c92_e76673d698a6 --> ad03c9b1_961e_2b53_cf32_4012da6d88c5 style ad03c9b1_961e_2b53_cf32_4012da6d88c5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type {
ColumnBuilderBaseConfig,
ColumnBuilderExtraConfig,
ColumnDataType,
HasDefault,
} from '~/column-builder.ts';
import type { ColumnBaseConfig } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import { sql } from '~/sql/sql.ts';
import { MySqlColumn, MySqlColumnBuilder } from './common.ts';
export interface MySqlDateColumnBaseConfig {
hasOnUpdateNow: boolean;
}
export abstract class MySqlDateColumnBaseBuilder<
T extends ColumnBuilderBaseConfig<ColumnDataType, string>,
TRuntimeConfig extends object = object,
TExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,
> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {
static override readonly [entityKind]: string = 'MySqlDateColumnBuilder';
defaultNow() {
return this.default(sql`(now())`);
}
// "on update now" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html
onUpdateNow(): HasDefault<this> {
this.config.hasOnUpdateNow = true;
this.config.hasDefault = true;
return this as HasDefault<this>;
}
}
export abstract class MySqlDateBaseColumn<
T extends ColumnBaseConfig<ColumnDataType, string>,
TRuntimeConfig extends object = object,
> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {
static override readonly [entityKind]: string = 'MySqlDateColumn';
readonly hasOnUpdateNow: boolean = this.config.hasOnUpdateNow;
}
Domain
Dependencies
- MySqlColumn
- column-builder.ts
- column.ts
- common.ts
- entity.ts
- sql.ts
Imported By
Source
Frequently Asked Questions
What does date.common.ts do?
date.common.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain.
What does date.common.ts depend on?
date.common.ts imports 6 module(s): MySqlColumn, column-builder.ts, column.ts, common.ts, entity.ts, sql.ts.
What files import date.common.ts?
date.common.ts is imported by 1 file(s): timestamp.ts.
Where is date.common.ts in the architecture?
date.common.ts is located at drizzle-orm/src/mysql-core/columns/date.common.ts (domain: DrizzleORM, directory: drizzle-orm/src/mysql-core/columns).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free