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 f46078d4_8ed3_240a_dc85_ac06d691fab9["convert()"] 1c722973_79f1_5946_11f4_95175d8af652["PgAlterForeignKeyConvertor"] f46078d4_8ed3_240a_dc85_ac06d691fab9 -->|defined in| 1c722973_79f1_5946_11f4_95175d8af652 style f46078d4_8ed3_240a_dc85_ac06d691fab9 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/sqlgenerator.ts lines 3431–3466
convert(statement: JsonAlterReferenceStatement): string {
const newFk = PgSquasher.unsquashFK(statement.data);
const oldFk = PgSquasher.unsquashFK(statement.oldFkey);
const tableNameWithSchema = statement.schema
? `"${statement.schema}"."${oldFk.tableFrom}"`
: `"${oldFk.tableFrom}"`;
let sql = `ALTER TABLE ${tableNameWithSchema} DROP CONSTRAINT "${oldFk.name}";\n`;
const onDeleteStatement = newFk.onDelete
? ` ON DELETE ${newFk.onDelete}`
: '';
const onUpdateStatement = newFk.onUpdate
? ` ON UPDATE ${newFk.onUpdate}`
: '';
const fromColumnsString = newFk.columnsFrom
.map((it) => `"${it}"`)
.join(',');
const toColumnsString = newFk.columnsTo.map((it) => `"${it}"`).join(',');
const tableFromNameWithSchema = oldFk.schemaTo
? `"${oldFk.schemaTo}"."${oldFk.tableFrom}"`
: `"${oldFk.tableFrom}"`;
const tableToNameWithSchema = newFk.schemaTo
? `"${newFk.schemaTo}"."${newFk.tableFrom}"`
: `"${newFk.tableFrom}"`;
const alterStatement =
`ALTER TABLE ${tableFromNameWithSchema} ADD CONSTRAINT "${newFk.name}" FOREIGN KEY (${fromColumnsString}) REFERENCES ${tableToNameWithSchema}(${toColumnsString})${onDeleteStatement}${onUpdateStatement};`;
sql += alterStatement;
return sql;
}
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 3431.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free