AlterTypeDropValueConvertor Class — drizzle-orm Architecture
Architecture documentation for the AlterTypeDropValueConvertor class in sqlgenerator.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 30c88950_d016_3a7f_aac0_60ee746478c7["AlterTypeDropValueConvertor"] fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"] 30c88950_d016_3a7f_aac0_60ee746478c7 -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939 62665fcd_ce9d_389e_6c1b_d64ba46173f1["can()"] 30c88950_d016_3a7f_aac0_60ee746478c7 -->|method| 62665fcd_ce9d_389e_6c1b_d64ba46173f1 2d618809_9374_2760_a1b8_aeeeb02ac67c["convert()"] 30c88950_d016_3a7f_aac0_60ee746478c7 -->|method| 2d618809_9374_2760_a1b8_aeeeb02ac67c
Relationship Graph
Source Code
drizzle-kit/src/sqlgenerator.ts lines 1462–1515
class AlterTypeDropValueConvertor extends Convertor {
can(statement: JsonDropValueFromEnumStatement): boolean {
return statement.type === 'alter_type_drop_value';
}
convert(st: JsonDropValueFromEnumStatement) {
const { columnsWithEnum, name, newValues, enumSchema } = st;
const statements: string[] = [];
for (const withEnum of columnsWithEnum) {
const tableNameWithSchema = withEnum.tableSchema
? `"${withEnum.tableSchema}"."${withEnum.table}"`
: `"${withEnum.table}"`;
statements.push(
`ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${withEnum.column}" SET DATA TYPE text;`,
);
if (withEnum.default) {
statements.push(
`ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${withEnum.column}" SET DEFAULT ${withEnum.default}::text;`,
);
}
}
statements.push(new DropTypeEnumConvertor().convert({ name: name, schema: enumSchema, type: 'drop_type_enum' }));
statements.push(new CreateTypeEnumConvertor().convert({
name: name,
schema: enumSchema,
values: newValues,
type: 'create_type_enum',
}));
for (const withEnum of columnsWithEnum) {
const tableNameWithSchema = withEnum.tableSchema
? `"${withEnum.tableSchema}"."${withEnum.table}"`
: `"${withEnum.table}"`;
const parsedType = parseType(`"${enumSchema}".`, withEnum.columnType);
if (withEnum.default) {
statements.push(
`ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${withEnum.column}" SET DEFAULT ${withEnum.default}::${parsedType};`,
);
}
statements.push(
`ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${withEnum.column}" SET DATA TYPE ${parsedType} USING "${withEnum.column}"::${parsedType};`,
);
}
return statements;
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the AlterTypeDropValueConvertor class?
AlterTypeDropValueConvertor is a class in the drizzle-orm codebase, defined in drizzle-kit/src/sqlgenerator.ts.
Where is AlterTypeDropValueConvertor defined?
AlterTypeDropValueConvertor is defined in drizzle-kit/src/sqlgenerator.ts at line 1462.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free