Home / Type/ GelTableFn Type — drizzle-orm Architecture

GelTableFn Type — drizzle-orm Architecture

Architecture documentation for the GelTableFn type/interface in table.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  d08f5860_c949_3294_6bae_605707799a80["GelTableFn"]
  ceca801d_6245_1125_ec00_4d4f9140e2e1["table.ts"]
  d08f5860_c949_3294_6bae_605707799a80 -->|defined in| ceca801d_6245_1125_ec00_4d4f9140e2e1
  style d08f5860_c949_3294_6bae_605707799a80 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/gel-core/table.ts lines 143–247

export interface GelTableFn<TSchema extends string | undefined = undefined> {
	/**
	 * @deprecated The third parameter of GelTable is changing and will only accept an array instead of an object
	 *
	 * @example
	 * Deprecated version:
	 * ```ts
	 * export const users = gelTable("users", {
	 * 	id: integer(),
	 * }, (t) => ({
	 * 	idx: index('custom_name').on(t.id)
	 * }));
	 * ```
	 *
	 * New API:
	 * ```ts
	 * export const users = gelTable("users", {
	 * 	id: integer(),
	 * }, (t) => [
	 * 	index('custom_name').on(t.id)
	 * ]);
	 * ```
	 */
	<
		TTableName extends string,
		TColumnsMap extends Record<string, GelColumnBuilderBase>,
	>(
		name: TTableName,
		columns: TColumnsMap,
		extraConfig: (
			self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'gel'>,
		) => GelTableExtraConfig,
	): GelTableWithColumns<{
		name: TTableName;
		schema: TSchema;
		columns: BuildColumns<TTableName, TColumnsMap, 'gel'>;
		dialect: 'gel';
	}>;

	/**
	 * @deprecated The third parameter of gelTable is changing and will only accept an array instead of an object
	 *
	 * @example
	 * Deprecated version:
	 * ```ts
	 * export const users = gelTable("users", {
	 * 	id: integer(),
	 * }, (t) => ({
	 * 	idx: index('custom_name').on(t.id)
	 * }));
	 * ```
	 *
	 * New API:
	 * ```ts
	 * export const users = gelTable("users", {
	 * 	id: integer(),
	 * }, (t) => [
	 * 	index('custom_name').on(t.id)
	 * ]);
	 * ```
	 */
	<
		TTableName extends string,
		TColumnsMap extends Record<string, GelColumnBuilderBase>,
	>(
		name: TTableName,
		columns: (columnTypes: GelColumnsBuilders) => TColumnsMap,
		extraConfig: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'gel'>) => GelTableExtraConfig,
	): GelTableWithColumns<{
		name: TTableName;
		schema: TSchema;
		columns: BuildColumns<TTableName, TColumnsMap, 'gel'>;
		dialect: 'gel';
	}>;

	<
		TTableName extends string,
		TColumnsMap extends Record<string, GelColumnBuilderBase>,
	>(
		name: TTableName,
		columns: TColumnsMap,

Frequently Asked Questions

What is the GelTableFn type?
GelTableFn is a type/interface in the drizzle-orm codebase, defined in drizzle-orm/src/gel-core/table.ts.
Where is GelTableFn defined?
GelTableFn is defined in drizzle-orm/src/gel-core/table.ts at line 143.

Analyze Your Own Codebase

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

Try Supermodel Free