table.ts — drizzle-orm Source File
Architecture documentation for table.ts, a typescript file in the drizzle-orm codebase. 11 imports, 13 dependents.
Entity Profile
Dependency Diagram
graph LR 62c695d3_7eff_3822_db70_ce6b25ccdb04["table.ts"] 7b63b5bd_ea98_c5c2_5af8_ff11f417af24["checks.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> 7b63b5bd_ea98_c5c2_5af8_ff11f417af24 6dd15b44_b15c_62ef_81b2_e72b28299be9["all.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> 6dd15b44_b15c_62ef_81b2_e72b28299be9 828aa578_07f1_97b1_f317_eb964e64af8d["getMySqlColumnBuilders"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> 828aa578_07f1_97b1_f317_eb964e64af8d 83c65ad5_22a0_d33f_47b8_c2ed1c8d8bbb["common.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> 83c65ad5_22a0_d33f_47b8_c2ed1c8d8bbb 5ab311c5_4977_231c_634b_5190e6ed4054["foreign-keys.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> 5ab311c5_4977_231c_634b_5190e6ed4054 a5a9f725_34b6_8a98_a70a_5e7133d7ec60["indexes.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> a5a9f725_34b6_8a98_a70a_5e7133d7ec60 63d21212_2bf5_401e_92eb_15e737e0575b["primary-keys.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> 63d21212_2bf5_401e_92eb_15e737e0575b a9239128_c513_6b37_89dd_e9bbc3987391["unique-constraint.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> a9239128_c513_6b37_89dd_e9bbc3987391 2dc784c6_95e9_4e28_ec81_7caf4acbd426["column-builder.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> 2dc784c6_95e9_4e28_ec81_7caf4acbd426 27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426 1fd6ac27_a0fb_a054_a358_c8766c3fcbd7["table.ts"] 62c695d3_7eff_3822_db70_ce6b25ccdb04 --> 1fd6ac27_a0fb_a054_a358_c8766c3fcbd7 d635ebb5_da6c_26b8_3e69_0ed665527051["alias.ts"] d635ebb5_da6c_26b8_3e69_0ed665527051 --> 62c695d3_7eff_3822_db70_ce6b25ccdb04 7b63b5bd_ea98_c5c2_5af8_ff11f417af24["checks.ts"] 7b63b5bd_ea98_c5c2_5af8_ff11f417af24 --> 62c695d3_7eff_3822_db70_ce6b25ccdb04 55a32696_6538_e52d_9dd2_18695934fe32["db.ts"] 55a32696_6538_e52d_9dd2_18695934fe32 --> 62c695d3_7eff_3822_db70_ce6b25ccdb04 8f4067ff_24d4_558a_f9a8_8c5b4d708ae5["dialect.ts"] 8f4067ff_24d4_558a_f9a8_8c5b4d708ae5 --> 62c695d3_7eff_3822_db70_ce6b25ccdb04 style 62c695d3_7eff_3822_db70_ce6b25ccdb04 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 { getMySqlColumnBuilders, type MySqlColumnBuilders } from './columns/all.ts';
import type { MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderBase } from './columns/common.ts';
import type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';
import type { AnyIndexBuilder } from './indexes.ts';
import type { PrimaryKeyBuilder } from './primary-keys.ts';
import type { UniqueConstraintBuilder } from './unique-constraint.ts';
export type MySqlTableExtraConfigValue =
| AnyIndexBuilder
| CheckBuilder
| ForeignKeyBuilder
| PrimaryKeyBuilder
| UniqueConstraintBuilder;
export type MySqlTableExtraConfig = Record<
string,
MySqlTableExtraConfigValue
>;
export type TableConfig = TableConfigBase<MySqlColumn>;
/** @internal */
export const InlineForeignKeys = Symbol.for('drizzle:MySqlInlineForeignKeys');
export class MySqlTable<T extends TableConfig = TableConfig> extends Table<T> {
static override readonly [entityKind]: string = 'MySqlTable';
declare protected $columns: T['columns'];
/** @internal */
static override readonly Symbol = Object.assign({}, Table.Symbol, {
InlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,
});
/** @internal */
override [Table.Symbol.Columns]!: NonNullable<T['columns']>;
/** @internal */
[InlineForeignKeys]: ForeignKey[] = [];
/** @internal */
override [Table.Symbol.ExtraConfigBuilder]:
| ((self: Record<string, MySqlColumn>) => MySqlTableExtraConfig)
| undefined = undefined;
}
export type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTable<
UpdateTableConfig<TableConfig, TPartial>
>;
export type MySqlTableWithColumns<T extends TableConfig> =
& MySqlTable<T>
& {
[Key in keyof T['columns']]: T['columns'][Key];
};
// ... (170 more lines)
Domain
Subdomains
Classes
Types
Dependencies
- all.ts
- checks.ts
- column-builder.ts
- common.ts
- entity.ts
- foreign-keys.ts
- getMySqlColumnBuilders
- indexes.ts
- primary-keys.ts
- table.ts
- unique-constraint.ts
Imported By
- drizzle-orm/src/mysql-core/alias.ts
- drizzle-orm/src/mysql-core/checks.ts
- drizzle-orm/src/mysql-core/query-builders/count.ts
- drizzle-orm/src/mysql-core/db.ts
- drizzle-orm/src/mysql-core/dialect.ts
- drizzle-orm/src/mysql-core/foreign-keys.ts
- drizzle-orm/src/mysql-core/indexes.ts
- drizzle-orm/src/mysql-core/primary-keys.ts
- drizzle-orm/src/mysql-core/query-builders/query.ts
- drizzle-orm/src/mysql-core/schema.ts
- drizzle-orm/src/mysql-core/unique-constraint.ts
- drizzle-orm/src/mysql-core/utils.ts
- drizzle-orm/src/mysql-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, SQLDialects subdomain.
What functions are defined in table.ts?
table.ts defines 3 function(s): mysqlTable, mysqlTableCreator, mysqlTableWithSchema.
What does table.ts depend on?
table.ts imports 11 module(s): all.ts, checks.ts, column-builder.ts, common.ts, entity.ts, foreign-keys.ts, getMySqlColumnBuilders, indexes.ts, and 3 more.
What files import table.ts?
table.ts is imported by 13 file(s): alias.ts, checks.ts, count.ts, db.ts, dialect.ts, foreign-keys.ts, indexes.ts, primary-keys.ts, and 5 more.
Where is table.ts in the architecture?
table.ts is located at drizzle-orm/src/mysql-core/table.ts (domain: DrizzleORM, subdomain: SQLDialects, directory: drizzle-orm/src/mysql-core).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free