Home / Function/ prepareStudioConfig() — drizzle-orm Function Reference

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

Called By

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