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

prepareMigrateConfig() — drizzle-orm Function Reference

Architecture documentation for the prepareMigrateConfig() function in utils.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  8c86936c_ce1b_9826_3df0_d5ccb901cc8e["prepareMigrateConfig()"]
  09e5bcf1_0f03_3dbd_fbdb_762440f28855["utils.ts"]
  8c86936c_ce1b_9826_3df0_d5ccb901cc8e -->|defined in| 09e5bcf1_0f03_3dbd_fbdb_762440f28855
  89246986_0eac_9224_8313_386137fa5f4f["migrate.transform()"]
  89246986_0eac_9224_8313_386137fa5f4f -->|calls| 8c86936c_ce1b_9826_3df0_d5ccb901cc8e
  face3c40_88e9_a534_6538_9c662631c6f6["drizzleConfigFromFile()"]
  8c86936c_ce1b_9826_3df0_d5ccb901cc8e -->|calls| face3c40_88e9_a534_6538_9c662631c6f6
  b0ef3d06_896b_eefc_c410_dfb419673d70["error()"]
  8c86936c_ce1b_9826_3df0_d5ccb901cc8e -->|calls| b0ef3d06_896b_eefc_c410_dfb419673d70
  b00190f0_9c7c_acbf_86f7_950ac8c79592["wrapParam()"]
  8c86936c_ce1b_9826_3df0_d5ccb901cc8e -->|calls| b00190f0_9c7c_acbf_86f7_950ac8c79592
  3c4015ef_5221_590b_d107_4104c5b19aa1["flattenDatabaseCredentials()"]
  8c86936c_ce1b_9826_3df0_d5ccb901cc8e -->|calls| 3c4015ef_5221_590b_d107_4104c5b19aa1
  071bfc71_ad06_c0c4_cba2_360298dd4b47["assertUnreachable()"]
  8c86936c_ce1b_9826_3df0_d5ccb901cc8e -->|calls| 071bfc71_ad06_c0c4_cba2_360298dd4b47
  style 8c86936c_ce1b_9826_3df0_d5ccb901cc8e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/cli/commands/utils.ts lines 772–874

export const prepareMigrateConfig = async (configPath: string | undefined) => {
	const config = await drizzleConfigFromFile(configPath);
	const parsed = migrateConfig.safeParse(config);
	if (parsed.error) {
		console.log(error('Please provide required params:'));
		console.log(wrapParam('dialect', config.dialect));
		process.exit(1);
	}

	const { dialect, out } = parsed.data;
	const { schema, table } = parsed.data.migrations || {};
	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,
			out,
			credentials,
			schema,
			table,
		};
	}

	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,
			out,
			credentials,
			schema,
			table,
		};
	}

	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,
			out,
			credentials,
			schema,
			table,
		};
	}

	if (dialect === 'sqlite') {
		const parsed = sqliteCredentials.safeParse(flattened);
		if (!parsed.success) {
			printIssuesSqlite(flattened as Record<string, unknown>, 'migrate');
			process.exit(1);
		}
		const credentials = parsed.data;
		return {
			dialect,
			out,
			credentials,
			schema,
			table,
		};
	}
	if (dialect === 'turso') {
		const parsed = libSQLCredentials.safeParse(flattened);
		if (!parsed.success) {
			printIssuesLibSQL(flattened as Record<string, unknown>, 'migrate');
			process.exit(1);

Domain

Subdomains

Frequently Asked Questions

What does prepareMigrateConfig() do?
prepareMigrateConfig() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/cli/commands/utils.ts.
Where is prepareMigrateConfig() defined?
prepareMigrateConfig() is defined in drizzle-kit/src/cli/commands/utils.ts at line 772.
What does prepareMigrateConfig() call?
prepareMigrateConfig() calls 5 function(s): assertUnreachable, drizzleConfigFromFile, error, flattenDatabaseCredentials, wrapParam.
What calls prepareMigrateConfig()?
prepareMigrateConfig() is called by 1 function(s): migrate.transform.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free