MySqlCreateForeignKeyConvertor Class — drizzle-orm Architecture
Architecture documentation for the MySqlCreateForeignKeyConvertor class in sqlgenerator.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 1b121685_2750_0618_c906_df4ce68e5484["MySqlCreateForeignKeyConvertor"] fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"] 1b121685_2750_0618_c906_df4ce68e5484 -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939 74bb92b1_ea29_f2be_085d_b61df38ab306["can()"] 1b121685_2750_0618_c906_df4ce68e5484 -->|method| 74bb92b1_ea29_f2be_085d_b61df38ab306 eed92d66_035e_1f10_3279_b5079cee95eb["convert()"] 1b121685_2750_0618_c906_df4ce68e5484 -->|method| eed92d66_035e_1f10_3279_b5079cee95eb
Relationship Graph
Source Code
drizzle-kit/src/sqlgenerator.ts lines 3402–3424
class MySqlCreateForeignKeyConvertor extends Convertor {
can(statement: JsonStatement, dialect: Dialect): boolean {
return statement.type === 'create_reference' && dialect === 'mysql';
}
convert(statement: JsonCreateReferenceStatement): string {
const {
name,
tableFrom,
tableTo,
columnsFrom,
columnsTo,
onDelete,
onUpdate,
} = MySqlSquasher.unsquashFK(statement.data);
const onDeleteStatement = onDelete ? ` ON DELETE ${onDelete}` : '';
const onUpdateStatement = onUpdate ? ` ON UPDATE ${onUpdate}` : '';
const fromColumnsString = columnsFrom.map((it) => `\`${it}\``).join(',');
const toColumnsString = columnsTo.map((it) => `\`${it}\``).join(',');
return `ALTER TABLE \`${tableFrom}\` ADD CONSTRAINT \`${name}\` FOREIGN KEY (${fromColumnsString}) REFERENCES \`${tableTo}\`(${toColumnsString})${onDeleteStatement}${onUpdateStatement};`;
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the MySqlCreateForeignKeyConvertor class?
MySqlCreateForeignKeyConvertor is a class in the drizzle-orm codebase, defined in drizzle-kit/src/sqlgenerator.ts.
Where is MySqlCreateForeignKeyConvertor defined?
MySqlCreateForeignKeyConvertor is defined in drizzle-kit/src/sqlgenerator.ts at line 3402.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free