prepareStudioConfig() — drizzle-orm Function Reference
Architecture documentation for the prepareStudioConfig() function in utils.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD c0073ae8_c7f4_3872_09e0_5c7266fa8ffe["prepareStudioConfig()"] 09e5bcf1_0f03_3dbd_fbdb_762440f28855["utils.ts"] c0073ae8_c7f4_3872_09e0_5c7266fa8ffe -->|defined in| 09e5bcf1_0f03_3dbd_fbdb_762440f28855 72630e5c_93c3_75d3_29f3_af0928ebe15c["studio.handler()"] 72630e5c_93c3_75d3_29f3_af0928ebe15c -->|calls| c0073ae8_c7f4_3872_09e0_5c7266fa8ffe face3c40_88e9_a534_6538_9c662631c6f6["drizzleConfigFromFile()"] c0073ae8_c7f4_3872_09e0_5c7266fa8ffe -->|calls| face3c40_88e9_a534_6538_9c662631c6f6 3c4015ef_5221_590b_d107_4104c5b19aa1["flattenDatabaseCredentials()"] c0073ae8_c7f4_3872_09e0_5c7266fa8ffe -->|calls| 3c4015ef_5221_590b_d107_4104c5b19aa1 b0ef3d06_896b_eefc_c410_dfb419673d70["error()"] c0073ae8_c7f4_3872_09e0_5c7266fa8ffe -->|calls| b0ef3d06_896b_eefc_c410_dfb419673d70 071bfc71_ad06_c0c4_cba2_360298dd4b47["assertUnreachable()"] c0073ae8_c7f4_3872_09e0_5c7266fa8ffe -->|calls| 071bfc71_ad06_c0c4_cba2_360298dd4b47 style c0073ae8_c7f4_3872_09e0_5c7266fa8ffe fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/cli/commands/utils.ts lines 650–764
export const prepareStudioConfig = async (options: Record<string, unknown>) => {
const params = studioCliParams.parse(options);
const config = await drizzleConfigFromFile(params.config);
const result = studioConfig.safeParse(config);
if (!result.success) {
if (!('dialect' in config)) {
console.log(outputs.studio.noDialect());
}
process.exit(1);
}
if (!('dbCredentials' in config)) {
console.log(outputs.studio.noCredentials());
process.exit(1);
}
const { host, port } = params;
const { dialect, schema, casing } = result.data;
const flattened = flattenDatabaseCredentials(config);
if (dialect === 'postgresql') {
const parsed = postgresCredentials.safeParse(flattened);
if (!parsed.success) {
printIssuesPg(flattened as Record<string, unknown>);
process.exit(1);
}
const credentials = parsed.data;
return {
dialect,
schema,
host,
port,
credentials,
casing,
};
}
if (dialect === 'mysql') {
const parsed = mysqlCredentials.safeParse(flattened);
if (!parsed.success) {
printIssuesMysql(flattened as Record<string, unknown>);
process.exit(1);
}
const credentials = parsed.data;
return {
dialect,
schema,
host,
port,
credentials,
casing,
};
}
if (dialect === 'singlestore') {
const parsed = singlestoreCredentials.safeParse(flattened);
if (!parsed.success) {
printIssuesSingleStore(flattened as Record<string, unknown>);
process.exit(1);
}
const credentials = parsed.data;
return {
dialect,
schema,
host,
port,
credentials,
casing,
};
}
if (dialect === 'sqlite') {
const parsed = sqliteCredentials.safeParse(flattened);
if (!parsed.success) {
printIssuesSqlite(flattened as Record<string, unknown>, 'studio');
process.exit(1);
}
const credentials = parsed.data;
return {
dialect,
schema,
host,
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does prepareStudioConfig() do?
prepareStudioConfig() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/cli/commands/utils.ts.
Where is prepareStudioConfig() defined?
prepareStudioConfig() is defined in drizzle-kit/src/cli/commands/utils.ts at line 650.
What does prepareStudioConfig() call?
prepareStudioConfig() calls 4 function(s): assertUnreachable, drizzleConfigFromFile, error, flattenDatabaseCredentials.
What calls prepareStudioConfig()?
prepareStudioConfig() is called by 1 function(s): studio.handler.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free