Home / Class/ PgAlterTableAlterColumnSetExpressionConvertor Class — drizzle-orm Architecture

PgAlterTableAlterColumnSetExpressionConvertor Class — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

graph TD
  918d5543_d0c5_332a_287b_5c5e1e95a771["PgAlterTableAlterColumnSetExpressionConvertor"]
  fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"]
  918d5543_d0c5_332a_287b_5c5e1e95a771 -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939
  27d37689_bd36_00dd_def0_5660e7b60b69["can()"]
  918d5543_d0c5_332a_287b_5c5e1e95a771 -->|method| 27d37689_bd36_00dd_def0_5660e7b60b69
  81f5ebf0_2a2c_eebd_48eb_304be1169461["convert()"]
  918d5543_d0c5_332a_287b_5c5e1e95a771 -->|method| 81f5ebf0_2a2c_eebd_48eb_304be1169461

Relationship Graph

Source Code

drizzle-kit/src/sqlgenerator.ts lines 2023–2069

class PgAlterTableAlterColumnSetExpressionConvertor extends Convertor {
	can(statement: JsonStatement, dialect: Dialect): boolean {
		return (
			statement.type === 'alter_table_alter_column_set_generated'
			&& dialect === 'postgresql'
		);
	}

	convert(statement: JsonAlterColumnSetGeneratedStatement) {
		const {
			tableName,
			columnName,
			schema,
			columnNotNull: notNull,
			columnDefault,
			columnOnUpdate,
			columnAutoIncrement,
			columnPk,
			columnGenerated,
		} = statement;

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

		const addColumnStatement = new PgAlterTableAddColumnConvertor().convert({
			schema,
			tableName,
			column: {
				name: columnName,
				type: statement.newDataType,
				notNull,
				default: columnDefault,
				onUpdate: columnOnUpdate,
				autoincrement: columnAutoIncrement,
				primaryKey: columnPk,
				generated: columnGenerated,
			},
			type: 'alter_table_add_column',
		});

		return [
			`ALTER TABLE ${tableNameWithSchema} drop column "${columnName}";`,
			addColumnStatement,
		];
	}
}

Domain

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free