defaultForColumn() — drizzle-orm Function Reference
Architecture documentation for the defaultForColumn() function in gelSerializer.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD b6d9c437_c4d6_d6c1_d2eb_613b745761cd["defaultForColumn()"] 33990744_4141_72e3_2ae9_3c695bf71d75["gelSerializer.ts"] b6d9c437_c4d6_d6c1_d2eb_613b745761cd -->|defined in| 33990744_4141_72e3_2ae9_3c695bf71d75 4e4d6d58_9452_ce92_00b8_77a3b8ffd541["fromDatabase()"] 4e4d6d58_9452_ce92_00b8_77a3b8ffd541 -->|calls| b6d9c437_c4d6_d6c1_d2eb_613b745761cd style b6d9c437_c4d6_d6c1_d2eb_613b745761cd fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/serializer/gelSerializer.ts lines 1537–1592
const defaultForColumn = (column: any, internals: GelKitInternals, tableName: string) => {
const columnName = column.column_name;
const isArray = internals?.tables[tableName]?.columns[columnName]?.isArray ?? false;
if (column.column_default === null || column.column_default === undefined) return undefined;
if (column.column_default.endsWith('[]')) {
column.column_default = column.column_default.slice(0, -2);
}
column.column_default = column.column_default.replace(/::(.*?)(?<![^\w"])(?=$)/, '');
const columnDefaultAsString: string = column.column_default.toString();
if (isArray) {
return columnDefaultAsString;
}
if (['integer', 'smallint', 'bigint', 'double precision', 'real'].includes(column.data_type)) {
if (/^-?[\d.]+(?:e-?\d+)?$/.test(columnDefaultAsString)) {
return Number(columnDefaultAsString);
} else {
if (typeof internals!.tables![tableName] === 'undefined') {
internals!.tables![tableName] = {
columns: {
[columnName]: {
isDefaultAnExpression: true,
},
},
};
} else {
if (typeof internals!.tables![tableName]!.columns[columnName] === 'undefined') {
internals!.tables![tableName]!.columns[columnName] = {
isDefaultAnExpression: true,
};
} else {
internals!.tables![tableName]!.columns[columnName]!.isDefaultAnExpression = true;
}
}
return columnDefaultAsString;
}
} else if (column.data_type.includes('numeric')) {
// if numeric(1,1) and used '99' -> psql stores like '99'::numeric
return columnDefaultAsString.includes("'") ? columnDefaultAsString : `'${columnDefaultAsString}'`;
} else if (column.data_type === 'json' || column.data_type === 'jsonb') {
return `'${columnDefaultAsString}'`;
} else if (column.data_type === 'boolean') {
return column.column_default === 'true';
} else if (columnDefaultAsString === 'NULL') {
return `NULL`;
} else if (columnDefaultAsString.startsWith("'") && columnDefaultAsString.endsWith("'")) {
return columnDefaultAsString;
} else {
return `${columnDefaultAsString.replace(/\\/g, '`\\')}`;
}
};
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does defaultForColumn() do?
defaultForColumn() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/serializer/gelSerializer.ts.
Where is defaultForColumn() defined?
defaultForColumn() is defined in drizzle-kit/src/serializer/gelSerializer.ts at line 1537.
What calls defaultForColumn()?
defaultForColumn() is called by 1 function(s): fromDatabase.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free