table.ts — drizzle-orm Source File
Architecture documentation for table.ts, a typescript file in the drizzle-orm codebase. 12 imports, 13 dependents.
Entity Profile
Dependency Diagram
graph LR cbe7af57_41be_454d_306f_02d0e6f81949["table.ts"] 171b1831_b7c8_175e_cfcd_84202c037834["checks.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> 171b1831_b7c8_175e_cfcd_84202c037834 ee61f0b9_206c_6b7b_5671_49b96bcf3a63["all.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> ee61f0b9_206c_6b7b_5671_49b96bcf3a63 d668c247_19c9_54b3_c1cf_4b73bfa42963["getGelColumnBuilders"] cbe7af57_41be_454d_306f_02d0e6f81949 --> d668c247_19c9_54b3_c1cf_4b73bfa42963 a74dd48d_d5e3_6bb4_19c7_1954c9126816["common.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> a74dd48d_d5e3_6bb4_19c7_1954c9126816 fe0bf683_1731_529c_f1b4_81cc9db56955["foreign-keys.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> fe0bf683_1731_529c_f1b4_81cc9db56955 8e96cfe7_b09e_acd6_1e9a_cf73dc90a16f["indexes.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> 8e96cfe7_b09e_acd6_1e9a_cf73dc90a16f 2653b8be_3a2e_d91d_bd2c_70b1c16e3b68["policies.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> 2653b8be_3a2e_d91d_bd2c_70b1c16e3b68 471611d2_cce2_4786_c10b_d1a110fdccc3["primary-keys.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> 471611d2_cce2_4786_c10b_d1a110fdccc3 5e3c0547_7886_5214_200c_e8f15e9f3900["unique-constraint.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> 5e3c0547_7886_5214_200c_e8f15e9f3900 2dc784c6_95e9_4e28_ec81_7caf4acbd426["column-builder.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> 2dc784c6_95e9_4e28_ec81_7caf4acbd426 27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426 1fd6ac27_a0fb_a054_a358_c8766c3fcbd7["table.ts"] cbe7af57_41be_454d_306f_02d0e6f81949 --> 1fd6ac27_a0fb_a054_a358_c8766c3fcbd7 505b6df4_a24b_64c4_01ff_cf3b8060d884["alias.ts"] 505b6df4_a24b_64c4_01ff_cf3b8060d884 --> cbe7af57_41be_454d_306f_02d0e6f81949 171b1831_b7c8_175e_cfcd_84202c037834["checks.ts"] 171b1831_b7c8_175e_cfcd_84202c037834 --> cbe7af57_41be_454d_306f_02d0e6f81949 3d18c98f_d49f_8657_6406_ff20d7800986["integer.ts"] 3d18c98f_d49f_8657_6406_ff20d7800986 --> cbe7af57_41be_454d_306f_02d0e6f81949 style cbe7af57_41be_454d_306f_02d0e6f81949 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';
import { entityKind } from '~/entity.ts';
import { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';
import type { CheckBuilder } from './checks.ts';
import { type GelColumnsBuilders, getGelColumnBuilders } from './columns/all.ts';
import type { GelColumn, GelColumnBuilder, GelColumnBuilderBase, GelExtraConfigColumn } from './columns/common.ts';
import type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';
import type { AnyIndexBuilder } from './indexes.ts';
import type { GelPolicy } from './policies.ts';
import type { PrimaryKeyBuilder } from './primary-keys.ts';
import type { UniqueConstraintBuilder } from './unique-constraint.ts';
export type GelTableExtraConfigValue =
| AnyIndexBuilder
| CheckBuilder
| ForeignKeyBuilder
| PrimaryKeyBuilder
| UniqueConstraintBuilder
| GelPolicy;
export type GelTableExtraConfig = Record<
string,
GelTableExtraConfigValue
>;
export type TableConfig = TableConfigBase<GelColumn>;
/** @internal */
export const InlineForeignKeys = Symbol.for('drizzle:GelInlineForeignKeys');
/** @internal */
export const EnableRLS = Symbol.for('drizzle:EnableRLS');
export class GelTable<T extends TableConfig = TableConfig> extends Table<T> {
static override readonly [entityKind]: string = 'GelTable';
/** @internal */
static override readonly Symbol = Object.assign({}, Table.Symbol, {
InlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,
EnableRLS: EnableRLS as typeof EnableRLS,
});
/**@internal */
[InlineForeignKeys]: ForeignKey[] = [];
/** @internal */
[EnableRLS]: boolean = false;
/** @internal */
override [Table.Symbol.ExtraConfigBuilder]: ((self: Record<string, GelColumn>) => GelTableExtraConfig) | undefined =
undefined;
/** @internal */
override [Table.Symbol.ExtraConfigColumns]: Record<string, GelExtraConfigColumn> = {};
}
export type AnyGelTable<TPartial extends Partial<TableConfig> = {}> = GelTable<
UpdateTableConfig<TableConfig, TPartial>
>;
export type GelTableWithColumns<T extends TableConfig> =
// ... (198 more lines)
Domain
Subdomains
Classes
Types
Dependencies
- all.ts
- checks.ts
- column-builder.ts
- common.ts
- entity.ts
- foreign-keys.ts
- getGelColumnBuilders
- indexes.ts
- policies.ts
- primary-keys.ts
- table.ts
- unique-constraint.ts
Imported By
- drizzle-orm/src/gel-core/alias.ts
- drizzle-orm/src/gel-core/checks.ts
- drizzle-orm/src/gel-core/query-builders/count.ts
- drizzle-orm/src/gel-core/foreign-keys.ts
- drizzle-orm/src/gel-core/indexes.ts
- drizzle-orm/src/gel-core/columns/integer.ts
- drizzle-orm/src/gel-core/policies.ts
- drizzle-orm/src/gel-core/primary-keys.ts
- drizzle-orm/src/gel-core/query-builders/query.ts
- drizzle-orm/src/gel-core/schema.ts
- drizzle-orm/src/gel-core/unique-constraint.ts
- drizzle-orm/src/gel-core/utils.ts
- drizzle-orm/src/gel-core/view.ts
Source
Frequently Asked Questions
What does table.ts do?
table.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, RelationalQuery subdomain.
What functions are defined in table.ts?
table.ts defines 4 function(s): Omit, gelTable, gelTableCreator, gelTableWithSchema.
What does table.ts depend on?
table.ts imports 12 module(s): all.ts, checks.ts, column-builder.ts, common.ts, entity.ts, foreign-keys.ts, getGelColumnBuilders, indexes.ts, and 4 more.
What files import table.ts?
table.ts is imported by 13 file(s): alias.ts, checks.ts, count.ts, foreign-keys.ts, indexes.ts, integer.ts, policies.ts, primary-keys.ts, and 5 more.
Where is table.ts in the architecture?
table.ts is located at drizzle-orm/src/gel-core/table.ts (domain: DrizzleORM, subdomain: RelationalQuery, directory: drizzle-orm/src/gel-core).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free