getMySqlInfo() — drizzle-orm Function Reference
Architecture documentation for the getMySqlInfo() function in index.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 7bfa7bb3_181b_ecad_deb4_686cdb9b0d10["getMySqlInfo()"] 0fabdd81_61c9_bb7c_7ddf_dde7a6071abc["index.ts"] 7bfa7bb3_181b_ecad_deb4_686cdb9b0d10 -->|defined in| 0fabdd81_61c9_bb7c_7ddf_dde7a6071abc 91804a24_fdec_050d_343d_3b5365a9b5ca["seedMySql()"] 91804a24_fdec_050d_343d_3b5365a9b5ca -->|calls| 7bfa7bb3_181b_ecad_deb4_686cdb9b0d10 d8406fd4_31dc_5e40_765e_d2ea7f0d3134["isRelationCyclic()"] 7bfa7bb3_181b_ecad_deb4_686cdb9b0d10 -->|calls| d8406fd4_31dc_5e40_765e_d2ea7f0d3134 style 7bfa7bb3_181b_ecad_deb4_686cdb9b0d10 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-seed/src/index.ts lines 963–1185
const getMySqlInfo = (
mysqlSchema: { [key: string]: MySqlTable | Relations },
mysqlTables: { [key: string]: MySqlTable },
) => {
let tableConfig: ReturnType<typeof getMysqlTableConfig>;
let dbToTsColumnNamesMap: { [key: string]: string };
const dbToTsTableNamesMap: { [key: string]: string } = Object.fromEntries(
Object.entries(mysqlTables).map(([key, value]) => [getTableName(value), key]),
);
const tables: Table[] = [];
const relations: RelationWithReferences[] = [];
const dbToTsColumnNamesMapGlobal: {
[tableName: string]: { [dbColumnName: string]: string };
} = {};
const tableRelations: { [tableName: string]: RelationWithReferences[] } = {};
const getDbToTsColumnNamesMap = (table: MySqlTable) => {
let dbToTsColumnNamesMap: { [dbColName: string]: string } = {};
const tableName = getTableName(table);
if (Object.hasOwn(dbToTsColumnNamesMapGlobal, tableName)) {
dbToTsColumnNamesMap = dbToTsColumnNamesMapGlobal[tableName]!;
return dbToTsColumnNamesMap;
}
const tableConfig = getMysqlTableConfig(table);
for (const [tsCol, col] of Object.entries(tableConfig.columns[0]!.table)) {
dbToTsColumnNamesMap[col.name] = tsCol;
}
dbToTsColumnNamesMapGlobal[tableName] = dbToTsColumnNamesMap;
return dbToTsColumnNamesMap;
};
const transformFromDrizzleRelation = (
schema: Record<string, MySqlTable | Relations>,
getDbToTsColumnNamesMap: (table: MySqlTable) => {
[dbColName: string]: string;
},
tableRelations: {
[tableName: string]: RelationWithReferences[];
},
) => {
const schemaConfig = extractTablesRelationalConfig(schema, createTableRelationsHelpers);
const relations: RelationWithReferences[] = [];
for (const table of Object.values(schemaConfig.tables)) {
if (table.relations === undefined) continue;
for (const drizzleRel of Object.values(table.relations)) {
if (!is(drizzleRel, One)) continue;
const tableConfig = getMysqlTableConfig(drizzleRel.sourceTable as MySqlTable);
const tableDbSchema = tableConfig.schema ?? 'public';
const tableDbName = tableConfig.name;
const tableTsName = schemaConfig.tableNamesMap[`${tableDbSchema}.${tableDbName}`] ?? tableDbName;
const dbToTsColumnNamesMap = getDbToTsColumnNamesMap(drizzleRel.sourceTable as MySqlTable);
const columns = drizzleRel.config?.fields.map((field) => dbToTsColumnNamesMap[field.name] as string)
?? [];
const refTableConfig = getMysqlTableConfig(drizzleRel.referencedTable as MySqlTable);
const refTableDbSchema = refTableConfig.schema ?? 'public';
const refTableDbName = refTableConfig.name;
const refTableTsName = schemaConfig.tableNamesMap[`${refTableDbSchema}.${refTableDbName}`]
?? refTableDbName;
const dbToTsColumnNamesMapForRefTable = getDbToTsColumnNamesMap(drizzleRel.referencedTable as MySqlTable);
const refColumns = drizzleRel.config?.references.map((ref) =>
dbToTsColumnNamesMapForRefTable[ref.name] as string
)
?? [];
if (tableRelations[refTableTsName] === undefined) {
tableRelations[refTableTsName] = [];
}
const relation: RelationWithReferences = {
table: tableTsName,
columns,
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does getMySqlInfo() do?
getMySqlInfo() is a function in the drizzle-orm codebase, defined in drizzle-seed/src/index.ts.
Where is getMySqlInfo() defined?
getMySqlInfo() is defined in drizzle-seed/src/index.ts at line 963.
What does getMySqlInfo() call?
getMySqlInfo() calls 1 function(s): isRelationCyclic.
What calls getMySqlInfo()?
getMySqlInfo() is called by 1 function(s): seedMySql.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free