Home / Class/ PgAlterIndPolicyConvertor Class — drizzle-orm Architecture

PgAlterIndPolicyConvertor Class — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

graph TD
  ec455f9f_6d1b_1eed_d0b1_989378462f4d["PgAlterIndPolicyConvertor"]
  fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"]
  ec455f9f_6d1b_1eed_d0b1_989378462f4d -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939
  50a12472_7508_85ed_f9ae_7498e9800dae["can()"]
  ec455f9f_6d1b_1eed_d0b1_989378462f4d -->|method| 50a12472_7508_85ed_f9ae_7498e9800dae
  01e3d841_29c8_7a33_c439_06e82ef4a7c0["convert()"]
  ec455f9f_6d1b_1eed_d0b1_989378462f4d -->|method| 01e3d841_29c8_7a33_c439_06e82ef4a7c0

Relationship Graph

Source Code

drizzle-kit/src/sqlgenerator.ts lines 333–355

class PgAlterIndPolicyConvertor extends Convertor {
	override can(statement: JsonStatement, dialect: Dialect): boolean {
		return statement.type === 'alter_ind_policy' && dialect === 'postgresql';
	}
	override convert(statement: JsonAlterIndPolicyStatement): string | string[] {
		const newPolicy = statement.newData;
		const oldPolicy = statement.oldData;

		const usingPart = newPolicy.using
			? ` USING (${newPolicy.using})`
			: oldPolicy.using
			? ` USING (${oldPolicy.using})`
			: '';

		const withCheckPart = newPolicy.withCheck
			? ` WITH CHECK (${newPolicy.withCheck})`
			: oldPolicy.withCheck
			? ` WITH CHECK  (${oldPolicy.withCheck})`
			: '';

		return `ALTER POLICY "${oldPolicy.name}" ON ${oldPolicy.on} TO ${newPolicy.to}${usingPart}${withCheckPart};`;
	}
}

Domain

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free