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

sqliteTableBase() — drizzle-orm Function Reference

Architecture documentation for the sqliteTableBase() function in table.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  b70de68c_154a_a545_31e5_98d31183c9a3["sqliteTableBase()"]
  64ae061d_ed9a_c5f9_235a_3f31995a8d54["table.ts"]
  b70de68c_154a_a545_31e5_98d31183c9a3 -->|defined in| 64ae061d_ed9a_c5f9_235a_3f31995a8d54
  8d2e46ce_23c3_faa7_fb2d_096b731a5ff2["sqliteTable()"]
  8d2e46ce_23c3_faa7_fb2d_096b731a5ff2 -->|calls| b70de68c_154a_a545_31e5_98d31183c9a3
  a6b589d8_2761_dcc3_9a83_b4160c2544a1["sqliteTableCreator()"]
  a6b589d8_2761_dcc3_9a83_b4160c2544a1 -->|calls| b70de68c_154a_a545_31e5_98d31183c9a3
  04a07377_e207_f788_0fe1_3907cb66bb05["getSQLiteColumnBuilders()"]
  b70de68c_154a_a545_31e5_98d31183c9a3 -->|calls| 04a07377_e207_f788_0fe1_3907cb66bb05
  59de575a_25ac_be03_bf14_ab56b56c8e21["build()"]
  b70de68c_154a_a545_31e5_98d31183c9a3 -->|calls| 59de575a_25ac_be03_bf14_ab56b56c8e21
  style b70de68c_154a_a545_31e5_98d31183c9a3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/sqlite-core/table.ts lines 162–217

function sqliteTableBase<
	TTableName extends string,
	TColumnsMap extends Record<string, SQLiteColumnBuilderBase>,
	TSchema extends string | undefined,
>(
	name: TTableName,
	columns: TColumnsMap | ((columnTypes: SQLiteColumnBuilders) => TColumnsMap),
	extraConfig:
		| ((
			self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>,
		) => SQLiteTableExtraConfig | SQLiteTableExtraConfigValue[])
		| undefined,
	schema?: TSchema,
	baseName = name,
): SQLiteTableWithColumns<{
	name: TTableName;
	schema: TSchema;
	columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
	dialect: 'sqlite';
}> {
	const rawTable = new SQLiteTable<{
		name: TTableName;
		schema: TSchema;
		columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
		dialect: 'sqlite';
	}>(name, schema, baseName);

	const parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getSQLiteColumnBuilders()) : columns;

	const builtColumns = Object.fromEntries(
		Object.entries(parsedColumns).map(([name, colBuilderBase]) => {
			const colBuilder = colBuilderBase as SQLiteColumnBuilder;
			colBuilder.setName(name);
			const column = colBuilder.build(rawTable);
			rawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));
			return [name, column];
		}),
	) as unknown as BuildColumns<TTableName, TColumnsMap, 'sqlite'>;

	const table = Object.assign(rawTable, builtColumns);

	table[Table.Symbol.Columns] = builtColumns;
	table[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<
		TTableName,
		TColumnsMap,
		'sqlite'
	>;

	if (extraConfig) {
		table[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig as (
			self: Record<string, SQLiteColumn>,
		) => SQLiteTableExtraConfig;
	}

	return table;
}

Domain

Subdomains

Frequently Asked Questions

What does sqliteTableBase() do?
sqliteTableBase() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/sqlite-core/table.ts.
Where is sqliteTableBase() defined?
sqliteTableBase() is defined in drizzle-orm/src/sqlite-core/table.ts at line 162.
What does sqliteTableBase() call?
sqliteTableBase() calls 2 function(s): build, getSQLiteColumnBuilders.
What calls sqliteTableBase()?
sqliteTableBase() is called by 2 function(s): sqliteTable, sqliteTableCreator.

Analyze Your Own Codebase

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

Try Supermodel Free