Home / Class/ PgAlterTableCreateCompositePrimaryKeyConvertor Class — drizzle-orm Architecture

PgAlterTableCreateCompositePrimaryKeyConvertor Class — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

graph TD
  3d49d42b_42f9_478d_3246_9680ec18d808["PgAlterTableCreateCompositePrimaryKeyConvertor"]
  fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"]
  3d49d42b_42f9_478d_3246_9680ec18d808 -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939
  bcffe20a_eb08_a3a9_ad7a_66ae7c910008["can()"]
  3d49d42b_42f9_478d_3246_9680ec18d808 -->|method| bcffe20a_eb08_a3a9_ad7a_66ae7c910008
  65f043f1_0514_27ac_9803_baa63e6974cf["convert()"]
  3d49d42b_42f9_478d_3246_9680ec18d808 -->|method| 65f043f1_0514_27ac_9803_baa63e6974cf

Relationship Graph

Source Code

drizzle-kit/src/sqlgenerator.ts lines 3073–3089

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

	convert(statement: JsonCreateCompositePK) {
		const { name, columns } = PgSquasher.unsquashPK(statement.data);

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

		return `ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT "${statement.constraintName}" PRIMARY KEY("${
			columns.join('","')
		}");`;
	}
}

Domain

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free