Home / Function/ createTableFKs() — drizzle-orm Function Reference

createTableFKs() — drizzle-orm Function Reference

Architecture documentation for the createTableFKs() function in introspect-sqlite.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  48befb78_597d_08a4_28c3_0043e79f20bd["createTableFKs()"]
  c1c349dd_2e31_d056_728c_c034cebb41c0["introspect-sqlite.ts"]
  48befb78_597d_08a4_28c3_0043e79f20bd -->|defined in| c1c349dd_2e31_d056_728c_c034cebb41c0
  5a8c82ee_a5ea_c82a_7f3f_71133b91a28a["schemaToTypeScript()"]
  5a8c82ee_a5ea_c82a_7f3f_71133b91a28a -->|calls| 48befb78_597d_08a4_28c3_0043e79f20bd
  d11905b4_a7b6_40f4_09ff_114b87f29eed["withCasing()"]
  48befb78_597d_08a4_28c3_0043e79f20bd -->|calls| d11905b4_a7b6_40f4_09ff_114b87f29eed
  style 48befb78_597d_08a4_28c3_0043e79f20bd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/introspect-sqlite.ts lines 500–533

const createTableFKs = (fks: ForeignKey[], casing: Casing): string => {
	let statement = '';

	fks.forEach((it) => {
		const isSelf = it.tableTo === it.tableFrom;
		const tableTo = isSelf ? 'table' : `${withCasing(it.tableTo, casing)}`;
		statement += `\n\t`;
		statement += `foreignKey(() => ({\n`;
		statement += `\t\t\tcolumns: [${
			it.columnsFrom
				.map((i) => `table.${withCasing(i, casing)}`)
				.join(', ')
		}],\n`;
		statement += `\t\t\tforeignColumns: [${
			it.columnsTo
				.map((i) => `${tableTo}.${withCasing(i, casing)}`)
				.join(', ')
		}],\n`;
		statement += `\t\t\tname: "${it.name}"\n`;
		statement += `\t\t}))`;

		statement += it.onUpdate && it.onUpdate !== 'no action'
			? `.onUpdate("${it.onUpdate}")`
			: '';

		statement += it.onDelete && it.onDelete !== 'no action'
			? `.onDelete("${it.onDelete}")`
			: '';

		statement += `,`;
	});

	return statement;
};

Domain

Subdomains

Calls

Frequently Asked Questions

What does createTableFKs() do?
createTableFKs() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/introspect-sqlite.ts.
Where is createTableFKs() defined?
createTableFKs() is defined in drizzle-kit/src/introspect-sqlite.ts at line 500.
What does createTableFKs() call?
createTableFKs() calls 1 function(s): withCasing.
What calls createTableFKs()?
createTableFKs() is called by 1 function(s): schemaToTypeScript.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free