mapDefault() — drizzle-orm Function Reference
Architecture documentation for the mapDefault() function in introspect-pg.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD f3c4f27e_519e_55a5_f4bc_bca97865abec["mapDefault()"] 71516551_23e3_bf30_27c9_000fb046ef71["introspect-pg.ts"] f3c4f27e_519e_55a5_f4bc_bca97865abec -->|defined in| 71516551_23e3_bf30_27c9_000fb046ef71 d060c9b2_d1df_37e7_df71_422307a42ed6["createTableColumns()"] d060c9b2_d1df_37e7_df71_422307a42ed6 -->|calls| f3c4f27e_519e_55a5_f4bc_bca97865abec b87c196f_7e95_6fa2_a5ef_339aa1ab6107["buildArrayDefault()"] f3c4f27e_519e_55a5_f4bc_bca97865abec -->|calls| b87c196f_7e95_6fa2_a5ef_339aa1ab6107 a34da7d2_49ca_2fcb_20a0_d3c69b4fdba9["mapColumnDefault()"] f3c4f27e_519e_55a5_f4bc_bca97865abec -->|calls| a34da7d2_49ca_2fcb_20a0_d3c69b4fdba9 b79b7789_7dc7_8d59_d31c_04fd15a06eee["unescapeSingleQuotes()"] f3c4f27e_519e_55a5_f4bc_bca97865abec -->|calls| b79b7789_7dc7_8d59_d31c_04fd15a06eee style f3c4f27e_519e_55a5_f4bc_bca97865abec fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/introspect-pg.ts lines 673–836
const mapDefault = (
tableName: string,
type: string,
name: string,
enumTypes: Set<string>,
typeSchema: string,
defaultValue?: any,
internals?: PgKitInternals,
) => {
const isExpression = internals?.tables[tableName]?.columns[name]?.isDefaultAnExpression ?? false;
const isArray = internals?.tables[tableName]?.columns[name]?.isArray ?? false;
const lowered = type.toLowerCase().replace('[]', '');
if (isArray) {
return typeof defaultValue !== 'undefined' ? `.default(${buildArrayDefault(defaultValue, lowered)})` : '';
}
if (enumTypes.has(`${typeSchema}.${type.replace('[]', '')}`)) {
return typeof defaultValue !== 'undefined'
? `.default(${mapColumnDefault(unescapeSingleQuotes(defaultValue, true), isExpression)})`
: '';
}
if (lowered.startsWith('integer')) {
return typeof defaultValue !== 'undefined' ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : '';
}
if (lowered.startsWith('smallint')) {
return typeof defaultValue !== 'undefined' ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : '';
}
if (lowered.startsWith('bigint')) {
return typeof defaultValue !== 'undefined' ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : '';
}
if (lowered.startsWith('boolean')) {
return typeof defaultValue !== 'undefined' ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : '';
}
if (lowered.startsWith('double precision')) {
return typeof defaultValue !== 'undefined' ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : '';
}
if (lowered.startsWith('real')) {
return typeof defaultValue !== 'undefined' ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : '';
}
if (lowered.startsWith('uuid')) {
return defaultValue === 'gen_random_uuid()'
? '.defaultRandom()'
: defaultValue
? `.default(sql\`${defaultValue}\`)`
: '';
}
if (lowered.startsWith('numeric')) {
defaultValue = defaultValue
? (defaultValue.startsWith(`'`) && defaultValue.endsWith(`'`)
? defaultValue.substring(1, defaultValue.length - 1)
: defaultValue)
: undefined;
return defaultValue ? `.default('${mapColumnDefault(defaultValue, isExpression)}')` : '';
}
if (lowered.startsWith('timestamp')) {
return defaultValue === 'now()'
? '.defaultNow()'
: /^'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(\.\d+)?([+-]\d{2}(:\d{2})?)?'$/.test(defaultValue) // Matches 'YYYY-MM-DD HH:MI:SS', 'YYYY-MM-DD HH:MI:SS.FFFFFF', 'YYYY-MM-DD HH:MI:SS+TZ', 'YYYY-MM-DD HH:MI:SS.FFFFFF+TZ' and 'YYYY-MM-DD HH:MI:SS+HH:MI'
? `.default(${mapColumnDefault(defaultValue, isExpression)})`
: defaultValue
? `.default(sql\`${defaultValue}\`)`
: '';
}
if (lowered.startsWith('time')) {
return defaultValue === 'now()'
? '.defaultNow()'
: /^'\d{2}:\d{2}(:\d{2})?(\.\d+)?'$/.test(defaultValue) // Matches 'HH:MI', 'HH:MI:SS' and 'HH:MI:SS.FFFFFF'
? `.default(${mapColumnDefault(defaultValue, isExpression)})`
: defaultValue
? `.default(sql\`${defaultValue}\`)`
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does mapDefault() do?
mapDefault() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/introspect-pg.ts.
Where is mapDefault() defined?
mapDefault() is defined in drizzle-kit/src/introspect-pg.ts at line 673.
What does mapDefault() call?
mapDefault() calls 3 function(s): buildArrayDefault, mapColumnDefault, unescapeSingleQuotes.
What calls mapDefault()?
mapDefault() 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