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

testColumnsResolver() — drizzle-orm Function Reference

Architecture documentation for the testColumnsResolver() function in schemaDiffer.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  96edd91d_9f30_fc37_cbd3_7c1229315b14["testColumnsResolver()"]
  fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"]
  96edd91d_9f30_fc37_cbd3_7c1229315b14 -->|defined in| fb6b4a65_030b_ce6b_df0d_2be21adcd2b3
  e15327fc_6c47_0a22_5e26_e5f3a2056272["diffTestSchemasPush()"]
  e15327fc_6c47_0a22_5e26_e5f3a2056272 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  a9b90700_95b1_2733_ec44_94b71b29bd74["applyPgDiffs()"]
  a9b90700_95b1_2733_ec44_94b71b29bd74 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  c00494ea_6230_22b6_9b91_d37781a8ac08["diffTestSchemas()"]
  c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  80675dbe_974e_8184_3152_575e76219c4a["diffTestSchemasPushMysql()"]
  80675dbe_974e_8184_3152_575e76219c4a -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  54ca5813_630b_5da2_847e_de001e848a8c["applyMySqlDiffs()"]
  54ca5813_630b_5da2_847e_de001e848a8c -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  c773074f_07b6_08cd_c3ec_75126530b1c5["diffTestSchemasMysql()"]
  c773074f_07b6_08cd_c3ec_75126530b1c5 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  71887843_e685_2fe9_f3a7_549f6e355d64["diffTestSchemasSingleStore()"]
  71887843_e685_2fe9_f3a7_549f6e355d64 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  bc002c34_a98e_d525_e2d6_5039b1edf66e["diffTestSchemasPushSingleStore()"]
  bc002c34_a98e_d525_e2d6_5039b1edf66e -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  cf9722d5_e3b3_fa2b_488c_913fd17a2e54["applySingleStoreDiffs()"]
  cf9722d5_e3b3_fa2b_488c_913fd17a2e54 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  cb68215e_fbbc_c2e1_0cbe_6e65ee0bd145["diffTestSchemasPushSqlite()"]
  cb68215e_fbbc_c2e1_0cbe_6e65ee0bd145 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  68ca323e_4506_d486_b587_96a21ba359f3["diffTestSchemasPushLibSQL()"]
  68ca323e_4506_d486_b587_96a21ba359f3 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  0edb9fbe_a5ec_9995_347a_9ea655353950["applySqliteDiffs()"]
  0edb9fbe_a5ec_9995_347a_9ea655353950 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  bf733442_f700_0747_b445_7417f19f76ae["applyLibSQLDiffs()"]
  bf733442_f700_0747_b445_7417f19f76ae -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14
  style 96edd91d_9f30_fc37_cbd3_7c1229315b14 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/tests/schemaDiffer.ts lines 400–462

export const testColumnsResolver = (renames: Set<string>) =>
async (
	input: ColumnsResolverInput<Column>,
): Promise<ColumnsResolverOutput<Column>> => {
	try {
		if (
			input.created.length === 0
			|| input.deleted.length === 0
			|| renames.size === 0
		) {
			return {
				tableName: input.tableName,
				schema: input.schema,
				created: input.created,
				renamed: [],
				deleted: input.deleted,
			};
		}

		let createdColumns = [...input.created];
		let deletedColumns = [...input.deleted];

		const renamed: { from: Column; to: Column }[] = [];

		const schema = input.schema || 'public';

		for (let rename of renames) {
			const [from, to] = rename.split('->');

			const idxFrom = deletedColumns.findIndex((it) => {
				return `${schema}.${input.tableName}.${it.name}` === from;
			});

			if (idxFrom >= 0) {
				const idxTo = createdColumns.findIndex((it) => {
					return `${schema}.${input.tableName}.${it.name}` === to;
				});

				renamed.push({
					from: deletedColumns[idxFrom],
					to: createdColumns[idxTo],
				});

				delete createdColumns[idxTo];
				delete deletedColumns[idxFrom];

				createdColumns = createdColumns.filter(Boolean);
				deletedColumns = deletedColumns.filter(Boolean);
			}
		}

		return {
			tableName: input.tableName,
			schema: input.schema,
			created: createdColumns,
			deleted: deletedColumns,
			renamed,
		};
	} catch (e) {
		console.error(e);
		throw e;
	}
};

Domain

Subdomains

Frequently Asked Questions

What does testColumnsResolver() do?
testColumnsResolver() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is testColumnsResolver() defined?
testColumnsResolver() is defined in drizzle-kit/tests/schemaDiffer.ts at line 400.
What calls testColumnsResolver()?
testColumnsResolver() is called by 20 function(s): applyLibSQLDiffs, applyMySqlDiffs, applyPgDiffs, applySingleStoreDiffs, applySqliteDiffs, diffTestSchemas, diffTestSchemasLibSQL, diffTestSchemasMysql, and 12 more.

Analyze Your Own Codebase

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

Try Supermodel Free