convert() — drizzle-orm Function Reference
Architecture documentation for the convert() function in sqlgenerator.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 13e3b282_1a64_a447_67c6_680e36ab6da1["convert()"] e496d264_ffa3_db83_0260_fdca9d4f91a7["LibSQLModifyColumn"] 13e3b282_1a64_a447_67c6_680e36ab6da1 -->|defined in| e496d264_ffa3_db83_0260_fdca9d4f91a7 style 13e3b282_1a64_a447_67c6_680e36ab6da1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/sqlgenerator.ts lines 2390–2481
convert(statement: LibSQLModifyColumnStatement, json2: SQLiteSchemaSquashed) {
const { tableName, columnName } = statement;
let columnType = ``;
let columnDefault: any = '';
let columnNotNull = '';
const sqlStatements: string[] = [];
// collect index info
const indexes: {
name: string;
tableName: string;
columns: string[];
isUnique: boolean;
where?: string | undefined;
}[] = [];
for (const table of Object.values(json2.tables)) {
for (const index of Object.values(table.indexes)) {
const unsquashed = SQLiteSquasher.unsquashIdx(index);
sqlStatements.push(`DROP INDEX "${unsquashed.name}";`);
indexes.push({ ...unsquashed, tableName: table.name });
}
}
switch (statement.type) {
case 'alter_table_alter_column_set_type':
columnType = ` ${statement.newDataType}`;
columnDefault = statement.columnDefault
? ` DEFAULT ${statement.columnDefault}`
: '';
columnNotNull = statement.columnNotNull ? ` NOT NULL` : '';
break;
case 'alter_table_alter_column_drop_notnull':
columnType = ` ${statement.newDataType}`;
columnDefault = statement.columnDefault
? ` DEFAULT ${statement.columnDefault}`
: '';
columnNotNull = '';
break;
case 'alter_table_alter_column_set_notnull':
columnType = ` ${statement.newDataType}`;
columnDefault = statement.columnDefault
? ` DEFAULT ${statement.columnDefault}`
: '';
columnNotNull = ` NOT NULL`;
break;
case 'alter_table_alter_column_set_default':
columnType = ` ${statement.newDataType}`;
columnDefault = ` DEFAULT ${statement.newDefaultValue}`;
columnNotNull = statement.columnNotNull ? ` NOT NULL` : '';
break;
case 'alter_table_alter_column_drop_default':
columnType = ` ${statement.newDataType}`;
columnDefault = '';
columnNotNull = statement.columnNotNull ? ` NOT NULL` : '';
break;
}
// Seems like getting value from simple json2 shanpshot makes dates be dates
columnDefault = columnDefault instanceof Date
? columnDefault.toISOString()
: columnDefault;
sqlStatements.push(
`ALTER TABLE \`${tableName}\` ALTER COLUMN "${columnName}" TO "${columnName}"${columnType}${columnNotNull}${columnDefault};`,
);
for (const index of indexes) {
const indexPart = index.isUnique ? 'UNIQUE INDEX' : 'INDEX';
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does convert() do?
convert() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/sqlgenerator.ts.
Where is convert() defined?
convert() is defined in drizzle-kit/src/sqlgenerator.ts at line 2390.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free