mysqlTableWithSchema() — drizzle-orm Function Reference
Architecture documentation for the mysqlTableWithSchema() function in table.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD ed204ff7_3e66_4124_7788_616d3713b13c["mysqlTableWithSchema()"] 62c695d3_7eff_3822_db70_ce6b25ccdb04["table.ts"] ed204ff7_3e66_4124_7788_616d3713b13c -->|defined in| 62c695d3_7eff_3822_db70_ce6b25ccdb04 baeaae7a_6e32_8d63_8090_9210b8c900b4["mysqlTable()"] baeaae7a_6e32_8d63_8090_9210b8c900b4 -->|calls| ed204ff7_3e66_4124_7788_616d3713b13c 0e8f8364_593c_4465_62e4_20d6f8fd645f["mysqlTableCreator()"] 0e8f8364_593c_4465_62e4_20d6f8fd645f -->|calls| ed204ff7_3e66_4124_7788_616d3713b13c 828aa578_07f1_97b1_f317_eb964e64af8d["getMySqlColumnBuilders()"] ed204ff7_3e66_4124_7788_616d3713b13c -->|calls| 828aa578_07f1_97b1_f317_eb964e64af8d cd65a11d_75ea_a9b3_c3c6_9a66d4da6977["build()"] ed204ff7_3e66_4124_7788_616d3713b13c -->|calls| cd65a11d_75ea_a9b3_c3c6_9a66d4da6977 style ed204ff7_3e66_4124_7788_616d3713b13c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/mysql-core/table.ts lines 61–116
export function mysqlTableWithSchema<
TTableName extends string,
TSchemaName extends string | undefined,
TColumnsMap extends Record<string, MySqlColumnBuilderBase>,
>(
name: TTableName,
columns: TColumnsMap | ((columnTypes: MySqlColumnBuilders) => TColumnsMap),
extraConfig:
| ((
self: BuildColumns<TTableName, TColumnsMap, 'mysql'>,
) => MySqlTableExtraConfig | MySqlTableExtraConfigValue[])
| undefined,
schema: TSchemaName,
baseName = name,
): MySqlTableWithColumns<{
name: TTableName;
schema: TSchemaName;
columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
dialect: 'mysql';
}> {
const rawTable = new MySqlTable<{
name: TTableName;
schema: TSchemaName;
columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
dialect: 'mysql';
}>(name, schema, baseName);
const parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getMySqlColumnBuilders()) : columns;
const builtColumns = Object.fromEntries(
Object.entries(parsedColumns).map(([name, colBuilderBase]) => {
const colBuilder = colBuilderBase as MySqlColumnBuilder;
colBuilder.setName(name);
const column = colBuilder.build(rawTable);
rawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));
return [name, column];
}),
) as unknown as BuildColumns<TTableName, TColumnsMap, 'mysql'>;
const table = Object.assign(rawTable, builtColumns);
table[Table.Symbol.Columns] = builtColumns;
table[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<
TTableName,
TColumnsMap,
'mysql'
>;
if (extraConfig) {
table[MySqlTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (
self: Record<string, MySqlColumn>,
) => MySqlTableExtraConfig;
}
return table;
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does mysqlTableWithSchema() do?
mysqlTableWithSchema() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/table.ts.
Where is mysqlTableWithSchema() defined?
mysqlTableWithSchema() is defined in drizzle-orm/src/mysql-core/table.ts at line 61.
What does mysqlTableWithSchema() call?
mysqlTableWithSchema() calls 2 function(s): build, getMySqlColumnBuilders.
What calls mysqlTableWithSchema()?
mysqlTableWithSchema() is called by 2 function(s): mysqlTable, mysqlTableCreator.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free