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

extractGeneratedColumns() — drizzle-orm Function Reference

Architecture documentation for the extractGeneratedColumns() function in sqliteSerializer.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  90cd491b_3549_815a_97cb_c14bb692e41d["extractGeneratedColumns()"]
  8e6879a2_2b61_04aa_8765_25bc6cfe77be["sqliteSerializer.ts"]
  90cd491b_3549_815a_97cb_c14bb692e41d -->|defined in| 8e6879a2_2b61_04aa_8765_25bc6cfe77be
  31460848_0b68_376e_2389_5130b321a073["fromDatabase()"]
  31460848_0b68_376e_2389_5130b321a073 -->|calls| 90cd491b_3549_815a_97cb_c14bb692e41d
  style 90cd491b_3549_815a_97cb_c14bb692e41d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/serializer/sqliteSerializer.ts lines 467–496

function extractGeneratedColumns(input: string): Record<string, ColumnInfo> {
	const columns: Record<string, ColumnInfo> = {};
	const lines = input.split(/,\s*(?![^()]*\))/); // Split by commas outside parentheses

	for (const line of lines) {
		if (line.includes('GENERATED ALWAYS AS')) {
			const parts = line.trim().split(/\s+/);
			const columnName = parts[0].replace(/[`'"]/g, ''); // Remove quotes around the column name
			const expression = line
				.substring(line.indexOf('('), line.indexOf(')') + 1)
				.trim();

			// Extract type ensuring to remove any trailing characters like ')'
			const typeIndex = parts.findIndex((part) => part.match(/(stored|virtual)/i));
			let type: ColumnInfo['type'] = 'virtual';
			if (typeIndex !== -1) {
				type = parts[typeIndex]
					.replace(/[^a-z]/gi, '')
					.toLowerCase() as ColumnInfo['type'];
			}

			columns[columnName] = {
				columnName: columnName,
				expression: expression,
				type,
			};
		}
	}
	return columns;
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does extractGeneratedColumns() do?
extractGeneratedColumns() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/serializer/sqliteSerializer.ts.
Where is extractGeneratedColumns() defined?
extractGeneratedColumns() is defined in drizzle-kit/src/serializer/sqliteSerializer.ts at line 467.
What calls extractGeneratedColumns()?
extractGeneratedColumns() is called by 1 function(s): fromDatabase.

Analyze Your Own Codebase

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

Try Supermodel Free