Home / Class/ PgDropTableConvertor Class — drizzle-orm Architecture

PgDropTableConvertor Class — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

graph TD
  9b42d53d_9447_23eb_6722_8119b4fcef03["PgDropTableConvertor"]
  fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"]
  9b42d53d_9447_23eb_6722_8119b4fcef03 -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939
  f99067da_689b_a985_0330_111260cca747["can()"]
  9b42d53d_9447_23eb_6722_8119b4fcef03 -->|method| f99067da_689b_a985_0330_111260cca747
  8625a0da_98d9_fad1_d81a_907f638cb622["convert()"]
  9b42d53d_9447_23eb_6722_8119b4fcef03 -->|method| 8625a0da_98d9_fad1_d81a_907f638cb622

Relationship Graph

Source Code

drizzle-kit/src/sqlgenerator.ts lines 1517–1546

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

	convert(statement: JsonDropTableStatement, _d: any, action?: string) {
		const { tableName, schema, policies } = statement;

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

		const dropPolicyConvertor = new PgDropPolicyConvertor();
		const droppedPolicies = policies?.map((p) => {
			return dropPolicyConvertor.convert({
				type: 'drop_policy',
				tableName,
				data: action === 'push'
					? PgSquasher.unsquashPolicyPush(p)
					: PgSquasher.unsquashPolicy(p),
				schema,
			}) as string;
		}) ?? [];

		return [
			...droppedPolicies,
			`DROP TABLE ${tableNameWithSchema} CASCADE;`,
		];
	}
}

Domain

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free