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 cb07bce4_0558_1b41_9f21_fbc1ca1063f9["ForeignKeyBuilder"] ff7aebdc_6a03_fbca_c461_2fc453da5174["foreign-keys.ts"] cb07bce4_0558_1b41_9f21_fbc1ca1063f9 -->|defined in| ff7aebdc_6a03_fbca_c461_2fc453da5174 59b858d9_8f52_0548_9de5_10fb18bf4bc8["constructor()"] cb07bce4_0558_1b41_9f21_fbc1ca1063f9 -->|method| 59b858d9_8f52_0548_9de5_10fb18bf4bc8 3620abfc_e05b_bfba_8530_fb5eb559bb05["onUpdate()"] cb07bce4_0558_1b41_9f21_fbc1ca1063f9 -->|method| 3620abfc_e05b_bfba_8530_fb5eb559bb05 72b8d9a3_fbe5_5c7c_3415_acb9fbc20547["onDelete()"] cb07bce4_0558_1b41_9f21_fbc1ca1063f9 -->|method| 72b8d9a3_fbe5_5c7c_3415_acb9fbc20547 62d28931_8145_4139_0365_d43461effacd["build()"] cb07bce4_0558_1b41_9f21_fbc1ca1063f9 -->|method| 62d28931_8145_4139_0365_d43461effacd
Relationship Graph
Source Code
drizzle-orm/src/pg-core/foreign-keys.ts lines 15–62
export class ForeignKeyBuilder {
static readonly [entityKind]: string = 'PgForeignKeyBuilder';
/** @internal */
reference: Reference;
/** @internal */
_onUpdate: UpdateDeleteAction | undefined = 'no action';
/** @internal */
_onDelete: UpdateDeleteAction | undefined = 'no action';
constructor(
config: () => {
name?: string;
columns: PgColumn[];
foreignColumns: PgColumn[];
},
actions?: {
onUpdate?: UpdateDeleteAction;
onDelete?: UpdateDeleteAction;
} | undefined,
) {
this.reference = () => {
const { name, columns, foreignColumns } = config();
return { name, columns, foreignTable: foreignColumns[0]!.table as PgTable, foreignColumns };
};
if (actions) {
this._onUpdate = actions.onUpdate;
this._onDelete = actions.onDelete;
}
}
onUpdate(action: UpdateDeleteAction): this {
this._onUpdate = action === undefined ? 'no action' : action;
return this;
}
onDelete(action: UpdateDeleteAction): this {
this._onDelete = action === undefined ? 'no action' : action;
return this;
}
/** @internal */
build(table: PgTable): 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/pg-core/foreign-keys.ts.
Where is ForeignKeyBuilder defined?
ForeignKeyBuilder is defined in drizzle-orm/src/pg-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