column.ts — drizzle-orm Source File
Architecture documentation for column.ts, a typescript file in the drizzle-orm codebase. 5 imports, 10 dependents.
Entity Profile
Dependency Diagram
graph LR 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb["column.ts"] b1f62532_46b8_598e_816c_9da2dce0b761["column-builder.ts"] 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb --> b1f62532_46b8_598e_816c_9da2dce0b761 bc6d807f_7198_da43_c1e6_911af80c80ee["entity.ts"] 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb --> bc6d807f_7198_da43_c1e6_911af80c80ee 99347ab2_b1a1_faf4_e37c_7643e4b2eb8a["sql.ts"] 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb --> 99347ab2_b1a1_faf4_e37c_7643e4b2eb8a ddbb35ab_7e67_d2b6_96ec_1f37678fcb67["table.ts"] 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb --> ddbb35ab_7e67_d2b6_96ec_1f37678fcb67 99737bc3_a631_a054_9291_f966c791930f["utils.ts"] 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb --> 99737bc3_a631_a054_9291_f966c791930f ab181952_5759_c0bf_aeab_f255a140fe2a["alias.ts"] ab181952_5759_c0bf_aeab_f255a140fe2a --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb b1f62532_46b8_598e_816c_9da2dce0b761["column-builder.ts"] b1f62532_46b8_598e_816c_9da2dce0b761 --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb 7664a866_a3c0_a860_d69f_58ff87a29d3b["operations.ts"] 7664a866_a3c0_a860_d69f_58ff87a29d3b --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb 98a54789_7505_9ccf_c7d4_5ddf382052ed["primary-key.ts"] 98a54789_7505_9ccf_c7d4_5ddf382052ed --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb 2f47d090_425d_2e56_2395_4c4d912316f0["relations.ts"] 2f47d090_425d_2e56_2395_4c4d912316f0 --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb a54a11d6_4422_4e60_3d09_6c04afd8f1eb["selection-proxy.ts"] a54a11d6_4422_4e60_3d09_6c04afd8f1eb --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb 7941083e_097f_1d7e_1c38_777ce9bcb0a2["select.ts"] 7941083e_097f_1d7e_1c38_777ce9bcb0a2 --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb 99347ab2_b1a1_faf4_e37c_7643e4b2eb8a["sql.ts"] 99347ab2_b1a1_faf4_e37c_7643e4b2eb8a --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb ddbb35ab_7e67_d2b6_96ec_1f37678fcb67["table.ts"] ddbb35ab_7e67_d2b6_96ec_1f37678fcb67 --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb 99737bc3_a631_a054_9291_f966c791930f["utils.ts"] 99737bc3_a631_a054_9291_f966c791930f --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb style 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type {
ColumnBuilderBaseConfig,
ColumnBuilderRuntimeConfig,
ColumnDataType,
GeneratedColumnConfig,
GeneratedIdentityConfig,
} from './column-builder.ts';
import { entityKind } from './entity.ts';
import type { DriverValueMapper, SQL, SQLWrapper } from './sql/sql.ts';
import type { Table } from './table.ts';
import type { Update } from './utils.ts';
export interface ColumnBaseConfig<
TDataType extends ColumnDataType,
TColumnType extends string,
> extends ColumnBuilderBaseConfig<TDataType, TColumnType> {
tableName: string;
notNull: boolean;
hasDefault: boolean;
isPrimaryKey: boolean;
isAutoincrement: boolean;
hasRuntimeDefault: boolean;
}
export type ColumnTypeConfig<T extends ColumnBaseConfig<ColumnDataType, string>, TTypeConfig extends object> = T & {
brand: 'Column';
tableName: T['tableName'];
name: T['name'];
dataType: T['dataType'];
columnType: T['columnType'];
data: T['data'];
driverParam: T['driverParam'];
notNull: T['notNull'];
hasDefault: T['hasDefault'];
isPrimaryKey: T['isPrimaryKey'];
isAutoincrement: T['isAutoincrement'];
hasRuntimeDefault: T['hasRuntimeDefault'];
enumValues: T['enumValues'];
baseColumn: T extends { baseColumn: infer U } ? U : unknown;
generated: GeneratedColumnConfig<T['data']> | undefined;
identity: undefined | 'always' | 'byDefault';
} & TTypeConfig;
export type ColumnRuntimeConfig<TData, TRuntimeConfig extends object> = ColumnBuilderRuntimeConfig<
TData,
TRuntimeConfig
>;
export interface Column<
T extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
TRuntimeConfig extends object = object,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
TTypeConfig extends object = object,
> extends DriverValueMapper<T['data'], T['driverParam']>, SQLWrapper {
// SQLWrapper runtime implementation is defined in 'sql/sql.ts'
}
/*
`Column` only accepts a full `ColumnConfig` as its generic.
To infer parts of the config, use `AnyColumn` that accepts a partial config.
// ... (89 more lines)
Domain
Subdomains
Functions
Types
Dependencies
Imported By
Source
Frequently Asked Questions
What does column.ts do?
column.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, RelationalQuery subdomain.
What functions are defined in column.ts?
column.ts defines 1 function(s): T.
What does column.ts depend on?
column.ts imports 5 module(s): column-builder.ts, entity.ts, sql.ts, table.ts, utils.ts.
What files import column.ts?
column.ts is imported by 10 file(s): alias.ts, column-builder.ts, operations.ts, primary-key.ts, relations.ts, select.ts, selection-proxy.ts, sql.ts, and 2 more.
Where is column.ts in the architecture?
column.ts is located at drizzle-orm/src/column.ts (domain: DrizzleORM, subdomain: RelationalQuery, directory: drizzle-orm/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free