ForeignKeyBuilder Class — drizzle-orm Architecture
Architecture documentation for the ForeignKeyBuilder class in foreign-keys.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 46597bc3_9b07_1c82_2d4e_eaf86f61d36f["ForeignKeyBuilder"] 5ab311c5_4977_231c_634b_5190e6ed4054["foreign-keys.ts"] 46597bc3_9b07_1c82_2d4e_eaf86f61d36f -->|defined in| 5ab311c5_4977_231c_634b_5190e6ed4054 14b75bec_c6d2_112a_fdd2_de9418de1303["constructor()"] 46597bc3_9b07_1c82_2d4e_eaf86f61d36f -->|method| 14b75bec_c6d2_112a_fdd2_de9418de1303 1af8cb30_daa5_7f32_3a1c_66157b54a6df["onUpdate()"] 46597bc3_9b07_1c82_2d4e_eaf86f61d36f -->|method| 1af8cb30_daa5_7f32_3a1c_66157b54a6df 8900a10c_90a9_e2e3_5212_f4097f6e028c["onDelete()"] 46597bc3_9b07_1c82_2d4e_eaf86f61d36f -->|method| 8900a10c_90a9_e2e3_5212_f4097f6e028c 374c4b19_571e_4d20_c9b6_12033d89b220["build()"] 46597bc3_9b07_1c82_2d4e_eaf86f61d36f -->|method| 374c4b19_571e_4d20_c9b6_12033d89b220
Relationship Graph
Source Code
drizzle-orm/src/mysql-core/foreign-keys.ts lines 15–62
export class ForeignKeyBuilder {
static readonly [entityKind]: string = 'MySqlForeignKeyBuilder';
/** @internal */
reference: Reference;
/** @internal */
_onUpdate: UpdateDeleteAction | undefined;
/** @internal */
_onDelete: UpdateDeleteAction | undefined;
constructor(
config: () => {
name?: string;
columns: MySqlColumn[];
foreignColumns: MySqlColumn[];
},
actions?: {
onUpdate?: UpdateDeleteAction;
onDelete?: UpdateDeleteAction;
} | undefined,
) {
this.reference = () => {
const { name, columns, foreignColumns } = config();
return { name, columns, foreignTable: foreignColumns[0]!.table as MySqlTable, foreignColumns };
};
if (actions) {
this._onUpdate = actions.onUpdate;
this._onDelete = actions.onDelete;
}
}
onUpdate(action: UpdateDeleteAction): this {
this._onUpdate = action;
return this;
}
onDelete(action: UpdateDeleteAction): this {
this._onDelete = action;
return this;
}
/** @internal */
build(table: MySqlTable): ForeignKey {
return new ForeignKey(table, this);
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the ForeignKeyBuilder class?
ForeignKeyBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/foreign-keys.ts.
Where is ForeignKeyBuilder defined?
ForeignKeyBuilder is defined in drizzle-orm/src/mysql-core/foreign-keys.ts at line 15.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free