Home / Class/ PgAlterTableAlterColumnSetGenerated Class — drizzle-orm Architecture

PgAlterTableAlterColumnSetGenerated Class — drizzle-orm Architecture

Architecture documentation for the PgAlterTableAlterColumnSetGenerated class in sqlgenerator.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  b78b43b2_a7ca_13e8_bc8c_6611099c7f98["PgAlterTableAlterColumnSetGenerated"]
  fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"]
  b78b43b2_a7ca_13e8_bc8c_6611099c7f98 -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939
  dbe03a8c_edc5_e449_1f0f_d6c7c58d004e["can()"]
  b78b43b2_a7ca_13e8_bc8c_6611099c7f98 -->|method| dbe03a8c_edc5_e449_1f0f_d6c7c58d004e
  1d869c8b_bbf9_f3ee_b569_3fc6d43417ee["convert()"]
  b78b43b2_a7ca_13e8_bc8c_6611099c7f98 -->|method| 1d869c8b_bbf9_f3ee_b569_3fc6d43417ee

Relationship Graph

Source Code

drizzle-kit/src/sqlgenerator.ts lines 1003–1051

class PgAlterTableAlterColumnSetGenerated extends Convertor {
	override can(statement: JsonStatement, dialect: Dialect): boolean {
		return (
			statement.type === 'alter_table_alter_column_set_identity'
			&& dialect === 'postgresql'
		);
	}
	override convert(
		statement: JsonAlterColumnSetIdentityStatement,
	): string | string[] {
		const { identity, tableName, columnName, schema } = statement;

		const tableNameWithSchema = schema
			? `"${schema}"."${tableName}"`
			: `"${tableName}"`;

		const unsquashedIdentity = PgSquasher.unsquashIdentity(identity);

		const identityWithSchema = schema
			? `"${schema}"."${unsquashedIdentity?.name}"`
			: `"${unsquashedIdentity?.name}"`;

		const identityStatement = unsquashedIdentity
			? ` GENERATED ${
				unsquashedIdentity.type === 'always' ? 'ALWAYS' : 'BY DEFAULT'
			} AS IDENTITY (sequence name ${identityWithSchema}${
				unsquashedIdentity.increment
					? ` INCREMENT BY ${unsquashedIdentity.increment}`
					: ''
			}${
				unsquashedIdentity.minValue
					? ` MINVALUE ${unsquashedIdentity.minValue}`
					: ''
			}${
				unsquashedIdentity.maxValue
					? ` MAXVALUE ${unsquashedIdentity.maxValue}`
					: ''
			}${
				unsquashedIdentity.startWith
					? ` START WITH ${unsquashedIdentity.startWith}`
					: ''
			}${unsquashedIdentity.cache ? ` CACHE ${unsquashedIdentity.cache}` : ''}${
				unsquashedIdentity.cycle ? ` CYCLE` : ''
			})`
			: '';

		return `ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${columnName}" ADD${identityStatement};`;
	}
}

Domain

Frequently Asked Questions

What is the PgAlterTableAlterColumnSetGenerated class?
PgAlterTableAlterColumnSetGenerated is a class in the drizzle-orm codebase, defined in drizzle-kit/src/sqlgenerator.ts.
Where is PgAlterTableAlterColumnSetGenerated defined?
PgAlterTableAlterColumnSetGenerated is defined in drizzle-kit/src/sqlgenerator.ts at line 1003.

Analyze Your Own Codebase

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

Try Supermodel Free