SingleStoreModifyColumn Class — drizzle-orm Architecture
Architecture documentation for the SingleStoreModifyColumn class in sqlgenerator.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 45637ff7_2ed2_cc33_979a_415ff4524617["SingleStoreModifyColumn"] fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"] 45637ff7_2ed2_cc33_979a_415ff4524617 -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939 b11c9f62_be27_abd7_2576_2531d3ac44ad["can()"] 45637ff7_2ed2_cc33_979a_415ff4524617 -->|method| b11c9f62_be27_abd7_2576_2531d3ac44ad b5767e0b_a4e5_4d03_2af8_f389f077a555["convert()"] 45637ff7_2ed2_cc33_979a_415ff4524617 -->|method| b5767e0b_a4e5_4d03_2af8_f389f077a555
Relationship Graph
Source Code
drizzle-kit/src/sqlgenerator.ts lines 2832–3052
class SingleStoreModifyColumn extends Convertor {
can(statement: JsonStatement, dialect: Dialect): boolean {
return (
(statement.type === 'alter_table_alter_column_set_type'
|| statement.type === 'alter_table_alter_column_set_notnull'
|| statement.type === 'alter_table_alter_column_drop_notnull'
|| statement.type === 'alter_table_alter_column_drop_on_update'
|| statement.type === 'alter_table_alter_column_set_on_update'
|| statement.type === 'alter_table_alter_column_set_autoincrement'
|| statement.type === 'alter_table_alter_column_drop_autoincrement'
|| statement.type === 'alter_table_alter_column_set_default'
|| statement.type === 'alter_table_alter_column_drop_default'
|| statement.type === 'alter_table_alter_column_set_generated'
|| statement.type === 'alter_table_alter_column_drop_generated')
&& dialect === 'singlestore'
);
}
convert(statement: SingleStoreModifyColumnStatement) {
const { tableName, columnName } = statement;
let columnType = ``;
let columnDefault: any = '';
let columnNotNull = '';
let columnOnUpdate = '';
let columnAutoincrement = '';
let primaryKey = statement.columnPk ? ' PRIMARY KEY' : '';
let columnGenerated = '';
if (statement.type === 'alter_table_alter_column_drop_notnull') {
columnType = ` ${statement.newDataType}`;
columnDefault = statement.columnDefault
? ` DEFAULT ${statement.columnDefault}`
: '';
columnNotNull = statement.columnNotNull ? ` NOT NULL` : '';
columnOnUpdate = statement.columnOnUpdate
? ` ON UPDATE CURRENT_TIMESTAMP`
: '';
columnAutoincrement = statement.columnAutoIncrement
? ' AUTO_INCREMENT'
: '';
} else if (statement.type === 'alter_table_alter_column_set_notnull') {
columnNotNull = ` NOT NULL`;
columnType = ` ${statement.newDataType}`;
columnDefault = statement.columnDefault
? ` DEFAULT ${statement.columnDefault}`
: '';
columnOnUpdate = statement.columnOnUpdate
? ` ON UPDATE CURRENT_TIMESTAMP`
: '';
columnAutoincrement = statement.columnAutoIncrement
? ' AUTO_INCREMENT'
: '';
} else if (statement.type === 'alter_table_alter_column_drop_on_update') {
columnNotNull = statement.columnNotNull ? ` NOT NULL` : '';
columnType = ` ${statement.newDataType}`;
columnDefault = statement.columnDefault
? ` DEFAULT ${statement.columnDefault}`
: '';
columnOnUpdate = '';
columnAutoincrement = statement.columnAutoIncrement
? ' AUTO_INCREMENT'
: '';
} else if (statement.type === 'alter_table_alter_column_set_on_update') {
columnNotNull = statement.columnNotNull ? ` NOT NULL` : '';
columnOnUpdate = ` ON UPDATE CURRENT_TIMESTAMP`;
columnType = ` ${statement.newDataType}`;
columnDefault = statement.columnDefault
? ` DEFAULT ${statement.columnDefault}`
: '';
columnAutoincrement = statement.columnAutoIncrement
? ' AUTO_INCREMENT'
: '';
} else if (
statement.type === 'alter_table_alter_column_set_autoincrement'
) {
columnNotNull = statement.columnNotNull ? ` NOT NULL` : '';
columnOnUpdate = columnOnUpdate = statement.columnOnUpdate
? ` ON UPDATE CURRENT_TIMESTAMP`
: '';
columnType = ` ${statement.newDataType}`;
columnDefault = statement.columnDefault
Domain
Defined In
Source
Frequently Asked Questions
What is the SingleStoreModifyColumn class?
SingleStoreModifyColumn is a class in the drizzle-orm codebase, defined in drizzle-kit/src/sqlgenerator.ts.
Where is SingleStoreModifyColumn defined?
SingleStoreModifyColumn is defined in drizzle-kit/src/sqlgenerator.ts at line 2832.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free