MySqlTableFn Type — drizzle-orm Architecture
Architecture documentation for the MySqlTableFn type/interface in table.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD d754a5bf_cabe_f580_d59b_b9659f24d941["MySqlTableFn"] 62c695d3_7eff_3822_db70_ce6b25ccdb04["table.ts"] d754a5bf_cabe_f580_d59b_b9659f24d941 -->|defined in| 62c695d3_7eff_3822_db70_ce6b25ccdb04 style d754a5bf_cabe_f580_d59b_b9659f24d941 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/mysql-core/table.ts lines 118–219
export interface MySqlTableFn<TSchemaName extends string | undefined = undefined> {
<
TTableName extends string,
TColumnsMap extends Record<string, MySqlColumnBuilderBase>,
>(
name: TTableName,
columns: TColumnsMap,
extraConfig?: (
self: BuildColumns<TTableName, TColumnsMap, 'mysql'>,
) => MySqlTableExtraConfigValue[],
): MySqlTableWithColumns<{
name: TTableName;
schema: TSchemaName;
columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
dialect: 'mysql';
}>;
<
TTableName extends string,
TColumnsMap extends Record<string, MySqlColumnBuilderBase>,
>(
name: TTableName,
columns: (columnTypes: MySqlColumnBuilders) => TColumnsMap,
extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfigValue[],
): MySqlTableWithColumns<{
name: TTableName;
schema: TSchemaName;
columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
dialect: 'mysql';
}>;
/**
* @deprecated The third parameter of mysqlTable is changing and will only accept an array instead of an object
*
* @example
* Deprecated version:
* ```ts
* export const users = mysqlTable("users", {
* id: int(),
* }, (t) => ({
* idx: index('custom_name').on(t.id)
* }));
* ```
*
* New API:
* ```ts
* export const users = mysqlTable("users", {
* id: int(),
* }, (t) => [
* index('custom_name').on(t.id)
* ]);
* ```
*/
<
TTableName extends string,
TColumnsMap extends Record<string, MySqlColumnBuilderBase>,
>(
name: TTableName,
columns: TColumnsMap,
extraConfig: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,
): MySqlTableWithColumns<{
name: TTableName;
schema: TSchemaName;
columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
dialect: 'mysql';
}>;
/**
* @deprecated The third parameter of mysqlTable is changing and will only accept an array instead of an object
*
* @example
* Deprecated version:
* ```ts
* export const users = mysqlTable("users", {
* id: int(),
* }, (t) => ({
* idx: index('custom_name').on(t.id)
* }));
* ```
*
* New API:
* ```ts
Defined In
Source
Frequently Asked Questions
What is the MySqlTableFn type?
MySqlTableFn is a type/interface in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/table.ts.
Where is MySqlTableFn defined?
MySqlTableFn is defined in drizzle-orm/src/mysql-core/table.ts at line 118.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free