column() — drizzle-orm Function Reference
Architecture documentation for the column() function in introspect-mysql.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD ab820e0b_412e_ee12_13bc_dbb2e64f13bb["column()"] 1198bdc6_ac5c_88c0_dda6_b8caf0f5d9fa["introspect-mysql.ts"] ab820e0b_412e_ee12_13bc_dbb2e64f13bb -->|defined in| 1198bdc6_ac5c_88c0_dda6_b8caf0f5d9fa 66cb9854_27ce_f964_9c23_6dd6fd021ba0["createTableColumns()"] 66cb9854_27ce_f964_9c23_6dd6fd021ba0 -->|calls| ab820e0b_412e_ee12_13bc_dbb2e64f13bb aa019a6a_5a94_2df4_74de_aac830a90a78["dbColumnName()"] ab820e0b_412e_ee12_13bc_dbb2e64f13bb -->|calls| aa019a6a_5a94_2df4_74de_aac830a90a78 01d302e6_b23c_a0cd_9ffb_1661cbbd095a["mapColumnDefault()"] ab820e0b_412e_ee12_13bc_dbb2e64f13bb -->|calls| 01d302e6_b23c_a0cd_9ffb_1661cbbd095a 2e12f4e7_3a1f_efff_82af_ce09e971caf8["timeConfig()"] ab820e0b_412e_ee12_13bc_dbb2e64f13bb -->|calls| 2e12f4e7_3a1f_efff_82af_ce09e971caf8 70564073_c936_b523_ce1d_4f7e783dc73b["mapColumnDefaultForJson()"] ab820e0b_412e_ee12_13bc_dbb2e64f13bb -->|calls| 70564073_c936_b523_ce1d_4f7e783dc73b b79b7789_7dc7_8d59_d31c_04fd15a06eee["unescapeSingleQuotes()"] ab820e0b_412e_ee12_13bc_dbb2e64f13bb -->|calls| b79b7789_7dc7_8d59_d31c_04fd15a06eee 682018ab_3853_d867_70fd_b968f8135a7a["binaryConfig()"] ab820e0b_412e_ee12_13bc_dbb2e64f13bb -->|calls| 682018ab_3853_d867_70fd_b968f8135a7a 893ac5b5_2ea6_d9e5_8c08_453ea1789956["camelCase()"] ab820e0b_412e_ee12_13bc_dbb2e64f13bb -->|calls| 893ac5b5_2ea6_d9e5_8c08_453ea1789956 style ab820e0b_412e_ee12_13bc_dbb2e64f13bb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/introspect-mysql.ts lines 386–816
const column = (
type: string,
name: string,
casing: (value: string) => string,
rawCasing: Casing,
defaultValue?: any,
autoincrement?: boolean,
onUpdate?: boolean,
isExpression?: boolean,
) => {
let lowered = type;
if (!type.startsWith('enum(')) {
lowered = type.toLowerCase();
}
if (lowered === 'serial') {
return `${casing(name)}: serial(${dbColumnName({ name, casing: rawCasing })})`;
}
if (lowered.startsWith('int')) {
const isUnsigned = lowered.startsWith('int unsigned');
const columnName = dbColumnName({ name, casing: rawCasing, withMode: isUnsigned });
let out = `${casing(name)}: int(${columnName}${isUnsigned ? '{ unsigned: true }' : ''})`;
out += autoincrement ? `.autoincrement()` : '';
out += typeof defaultValue !== 'undefined'
? `.default(${mapColumnDefault(defaultValue, isExpression)})`
: '';
return out;
}
if (lowered.startsWith('tinyint')) {
const isUnsigned = lowered.startsWith('tinyint unsigned');
const columnName = dbColumnName({ name, casing: rawCasing, withMode: isUnsigned });
// let out = `${name.camelCase()}: tinyint("${name}")`;
let out: string = `${casing(name)}: tinyint(${columnName}${isUnsigned ? '{ unsigned: true }' : ''})`;
out += autoincrement ? `.autoincrement()` : '';
out += typeof defaultValue !== 'undefined'
? `.default(${mapColumnDefault(defaultValue, isExpression)})`
: '';
return out;
}
if (lowered.startsWith('smallint')) {
const isUnsigned = lowered.startsWith('smallint unsigned');
const columnName = dbColumnName({ name, casing: rawCasing, withMode: isUnsigned });
let out = `${casing(name)}: smallint(${columnName}${isUnsigned ? '{ unsigned: true }' : ''})`;
out += autoincrement ? `.autoincrement()` : '';
out += defaultValue
? `.default(${mapColumnDefault(defaultValue, isExpression)})`
: '';
return out;
}
if (lowered.startsWith('mediumint')) {
const isUnsigned = lowered.startsWith('mediumint unsigned');
const columnName = dbColumnName({ name, casing: rawCasing, withMode: isUnsigned });
let out = `${casing(name)}: mediumint(${columnName}${isUnsigned ? '{ unsigned: true }' : ''})`;
out += autoincrement ? `.autoincrement()` : '';
out += defaultValue
? `.default(${mapColumnDefault(defaultValue, isExpression)})`
: '';
return out;
}
if (lowered.startsWith('bigint')) {
const isUnsigned = lowered.startsWith('bigint unsigned');
let out = `${casing(name)}: bigint(${dbColumnName({ name, casing: rawCasing, withMode: true })}{ mode: "number"${
isUnsigned ? ', unsigned: true' : ''
} })`;
out += autoincrement ? `.autoincrement()` : '';
out += defaultValue
? `.default(${mapColumnDefault(defaultValue, isExpression)})`
: '';
return out;
}
if (lowered === 'boolean') {
let out = `${casing(name)}: boolean(${dbColumnName({ name, casing: rawCasing })})`;
out += defaultValue
? `.default(${mapColumnDefault(defaultValue, isExpression)})`
: '';
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does column() do?
column() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/introspect-mysql.ts.
Where is column() defined?
column() is defined in drizzle-kit/src/introspect-mysql.ts at line 386.
What does column() call?
column() calls 7 function(s): binaryConfig, camelCase, dbColumnName, mapColumnDefault, mapColumnDefaultForJson, timeConfig, unescapeSingleQuotes.
What calls column()?
column() is called by 1 function(s): createTableColumns.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free