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

getTableConfig() — drizzle-orm Function Reference

Architecture documentation for the getTableConfig() function in utils.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  85df59b4_daf6_23f1_a1be_b34de3927af2["getTableConfig()"]
  5eb95521_a13c_5ed6_36c8_8869eb8138fc["utils.ts"]
  85df59b4_daf6_23f1_a1be_b34de3927af2 -->|defined in| 5eb95521_a13c_5ed6_36c8_8869eb8138fc
  59de575a_25ac_be03_bf14_ab56b56c8e21["build()"]
  85df59b4_daf6_23f1_a1be_b34de3927af2 -->|calls| 59de575a_25ac_be03_bf14_ab56b56c8e21
  style 85df59b4_daf6_23f1_a1be_b34de3927af2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/sqlite-core/utils.ts lines 19–57

export function getTableConfig<TTable extends SQLiteTable>(table: TTable) {
	const columns = Object.values(table[SQLiteTable.Symbol.Columns]);
	const indexes: Index[] = [];
	const checks: Check[] = [];
	const primaryKeys: PrimaryKey[] = [];
	const uniqueConstraints: UniqueConstraint[] = [];
	const foreignKeys: ForeignKey[] = Object.values(table[SQLiteTable.Symbol.InlineForeignKeys]);
	const name = table[Table.Symbol.Name];

	const extraConfigBuilder = table[SQLiteTable.Symbol.ExtraConfigBuilder];

	if (extraConfigBuilder !== undefined) {
		const extraConfig = extraConfigBuilder(table[SQLiteTable.Symbol.Columns]);
		const extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);
		for (const builder of Object.values(extraValues)) {
			if (is(builder, IndexBuilder)) {
				indexes.push(builder.build(table));
			} else if (is(builder, CheckBuilder)) {
				checks.push(builder.build(table));
			} else if (is(builder, UniqueConstraintBuilder)) {
				uniqueConstraints.push(builder.build(table));
			} else if (is(builder, PrimaryKeyBuilder)) {
				primaryKeys.push(builder.build(table));
			} else if (is(builder, ForeignKeyBuilder)) {
				foreignKeys.push(builder.build(table));
			}
		}
	}

	return {
		columns,
		indexes,
		foreignKeys,
		checks,
		primaryKeys,
		uniqueConstraints,
		name,
	};
}

Domain

Subdomains

Calls

Frequently Asked Questions

What does getTableConfig() do?
getTableConfig() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/sqlite-core/utils.ts.
Where is getTableConfig() defined?
getTableConfig() is defined in drizzle-orm/src/sqlite-core/utils.ts at line 19.
What does getTableConfig() call?
getTableConfig() calls 1 function(s): build.

Analyze Your Own Codebase

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

Try Supermodel Free