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

preparePushConfig() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  a1933878_8b6f_3410_d1a4_4a23055ce7d6["preparePushConfig()"]
  09e5bcf1_0f03_3dbd_fbdb_762440f28855["utils.ts"]
  a1933878_8b6f_3410_d1a4_4a23055ce7d6 -->|defined in| 09e5bcf1_0f03_3dbd_fbdb_762440f28855
  69a8b700_4795_8e50_4490_ba67bc8ec9d0["push.transform()"]
  69a8b700_4795_8e50_4490_ba67bc8ec9d0 -->|calls| a1933878_8b6f_3410_d1a4_4a23055ce7d6
  3c4015ef_5221_590b_d107_4104c5b19aa1["flattenDatabaseCredentials()"]
  a1933878_8b6f_3410_d1a4_4a23055ce7d6 -->|calls| 3c4015ef_5221_590b_d107_4104c5b19aa1
  face3c40_88e9_a534_6538_9c662631c6f6["drizzleConfigFromFile()"]
  a1933878_8b6f_3410_d1a4_4a23055ce7d6 -->|calls| face3c40_88e9_a534_6538_9c662631c6f6
  b0ef3d06_896b_eefc_c410_dfb419673d70["error()"]
  a1933878_8b6f_3410_d1a4_4a23055ce7d6 -->|calls| b0ef3d06_896b_eefc_c410_dfb419673d70
  b00190f0_9c7c_acbf_86f7_950ac8c79592["wrapParam()"]
  a1933878_8b6f_3410_d1a4_4a23055ce7d6 -->|calls| b00190f0_9c7c_acbf_86f7_950ac8c79592
  d2a6d85b_7d3b_7d17_794c_d2cd77de724c["prepareFilenames()"]
  a1933878_8b6f_3410_d1a4_4a23055ce7d6 -->|calls| d2a6d85b_7d3b_7d17_794c_d2cd77de724c
  7fb12b1c_5cdb_dd13_4400_ed9f468b6c93["getTablesFilterByExtensions()"]
  a1933878_8b6f_3410_d1a4_4a23055ce7d6 -->|calls| 7fb12b1c_5cdb_dd13_4400_ed9f468b6c93
  071bfc71_ad06_c0c4_cba2_360298dd4b47["assertUnreachable()"]
  a1933878_8b6f_3410_d1a4_4a23055ce7d6 -->|calls| 071bfc71_ad06_c0c4_cba2_360298dd4b47
  style a1933878_8b6f_3410_d1a4_4a23055ce7d6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/cli/commands/utils.ts lines 263–449

export const preparePushConfig = async (
	options: Record<string, unknown>,
	from: 'cli' | 'config',
): Promise<
	(
		| {
			dialect: 'mysql';
			credentials: MysqlCredentials;
		}
		| {
			dialect: 'postgresql';
			credentials: PostgresCredentials;
		}
		| {
			dialect: 'sqlite';
			credentials: SqliteCredentials;
		}
		| {
			dialect: 'turso';
			credentials: LibSQLCredentials;
		}
		| {
			dialect: 'singlestore';
			credentials: SingleStoreCredentials;
		}
	) & {
		schemaPath: string | string[];
		verbose: boolean;
		strict: boolean;
		force: boolean;
		tablesFilter: string[];
		schemasFilter: string[];
		casing?: CasingType;
		entities?: Entities;
	}
> => {
	const raw = flattenDatabaseCredentials(
		from === 'config'
			? await drizzleConfigFromFile(options.config as string | undefined)
			: options,
	);

	raw.verbose ||= options.verbose; // if provided in cli to debug
	raw.strict ||= options.strict; // if provided in cli only

	const parsed = pushParams.safeParse(raw);

	if (parsed.error) {
		console.log(error('Please provide required params:'));
		console.log(wrapParam('dialect', raw.dialect));
		console.log(wrapParam('schema', raw.schema));
		process.exit(1);
	}

	const config = parsed.data;

	const schemaFiles = prepareFilenames(config.schema);
	if (schemaFiles.length === 0) {
		render(`[${chalk.blue('i')}] No schema file in ${config.schema} was found`);
		process.exit(0);
	}

	const tablesFilterConfig = config.tablesFilter;
	const tablesFilter = tablesFilterConfig
		? typeof tablesFilterConfig === 'string'
			? [tablesFilterConfig]
			: tablesFilterConfig
		: [];

	const schemasFilterConfig = config.schemaFilter;

	const schemasFilter = schemasFilterConfig
		? typeof schemasFilterConfig === 'string'
			? [schemasFilterConfig]
			: schemasFilterConfig
		: [];

	tablesFilter.push(...getTablesFilterByExtensions(config));

	if (config.dialect === 'postgresql') {
		const parsed = postgresCredentials.safeParse(config);

Domain

Subdomains

Called By

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free