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

prepareDropEnumValues() — drizzle-orm Function Reference

Architecture documentation for the prepareDropEnumValues() function in jsonStatements.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  0a9a3498_f9fa_514c_4a0b_4672839a7108["prepareDropEnumValues()"]
  6139f734_8ada_c641_9fec_9a55cfdf376f["jsonStatements.ts"]
  0a9a3498_f9fa_514c_4a0b_4672839a7108 -->|defined in| 6139f734_8ada_c641_9fec_9a55cfdf376f
  c7a398db_43c9_7771_09b7_73bc09e703e8["applyPgSnapshotsDiff()"]
  c7a398db_43c9_7771_09b7_73bc09e703e8 -->|calls| 0a9a3498_f9fa_514c_4a0b_4672839a7108
  style 0a9a3498_f9fa_514c_4a0b_4672839a7108 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/jsonStatements.ts lines 1057–1095

export const prepareDropEnumValues = (
	name: string,
	schema: string,
	removedValues: string[],
	json2: PgSchema,
): JsonDropValueFromEnumStatement[] => {
	if (!removedValues.length) return [];

	const affectedColumns: JsonDropValueFromEnumStatement['columnsWithEnum'] = [];

	for (const tableKey in json2.tables) {
		const table = json2.tables[tableKey];
		for (const columnKey in table.columns) {
			const column = table.columns[columnKey];

			const arrayDefinitionRegex = /\[\d*(?:\[\d*\])*\]/g;
			const parsedColumnType = column.type.replace(arrayDefinitionRegex, '');

			if (parsedColumnType === name && column.typeSchema === schema) {
				affectedColumns.push({
					tableSchema: table.schema,
					table: table.name,
					column: column.name,
					columnType: column.type,
					default: column.default,
				});
			}
		}
	}

	return [{
		type: 'alter_type_drop_value',
		name: name,
		enumSchema: schema,
		deletedValues: removedValues,
		newValues: json2.enums[`${schema}.${name}`].values,
		columnsWithEnum: affectedColumns,
	}];
};

Domain

Subdomains

Frequently Asked Questions

What does prepareDropEnumValues() do?
prepareDropEnumValues() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/jsonStatements.ts.
Where is prepareDropEnumValues() defined?
prepareDropEnumValues() is defined in drizzle-kit/src/jsonStatements.ts at line 1057.
What calls prepareDropEnumValues()?
prepareDropEnumValues() is called by 1 function(s): applyPgSnapshotsDiff.

Analyze Your Own Codebase

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

Try Supermodel Free