prepareAlterColumnsSingleStore() — drizzle-orm Function Reference
Architecture documentation for the prepareAlterColumnsSingleStore() function in jsonStatements.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD edf0d9a9_7491_efe7_f0ba_60754f1bf4e0["prepareAlterColumnsSingleStore()"] 6139f734_8ada_c641_9fec_9a55cfdf376f["jsonStatements.ts"] edf0d9a9_7491_efe7_f0ba_60754f1bf4e0 -->|defined in| 6139f734_8ada_c641_9fec_9a55cfdf376f 5fbcc7ce_945a_7e2d_e12d_559fa5000971["warning()"] edf0d9a9_7491_efe7_f0ba_60754f1bf4e0 -->|calls| 5fbcc7ce_945a_7e2d_e12d_559fa5000971 style edf0d9a9_7491_efe7_f0ba_60754f1bf4e0 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/jsonStatements.ts lines 1717–2072
export const prepareAlterColumnsSingleStore = (
tableName: string,
schema: string,
columns: AlteredColumn[],
// TODO: remove?
json1: CommonSquashedSchema,
json2: CommonSquashedSchema,
action?: 'push' | undefined,
): JsonAlterColumnStatement[] => {
let statements: JsonAlterColumnStatement[] = [];
let dropPkStatements: JsonAlterColumnDropPrimaryKeyStatement[] = [];
let setPkStatements: JsonAlterColumnSetPrimaryKeyStatement[] = [];
for (const column of columns) {
const columnName = typeof column.name !== 'string' ? column.name.new : column.name;
const table = json2.tables[tableName];
const snapshotColumn = table.columns[columnName];
const columnType = snapshotColumn.type;
const columnDefault = snapshotColumn.default;
const columnOnUpdate = 'onUpdate' in snapshotColumn ? snapshotColumn.onUpdate : undefined;
const columnNotNull = table.columns[columnName].notNull;
const columnAutoIncrement = 'autoincrement' in snapshotColumn
? snapshotColumn.autoincrement ?? false
: false;
const columnPk = table.columns[columnName].primaryKey;
if (column.autoincrement?.type === 'added') {
statements.push({
type: 'alter_table_alter_column_set_autoincrement',
tableName,
columnName,
schema,
newDataType: columnType,
columnDefault,
columnOnUpdate,
columnNotNull,
columnAutoIncrement,
columnPk,
});
}
if (column.autoincrement?.type === 'changed') {
const type = column.autoincrement.new
? 'alter_table_alter_column_set_autoincrement'
: 'alter_table_alter_column_drop_autoincrement';
statements.push({
type,
tableName,
columnName,
schema,
newDataType: columnType,
columnDefault,
columnOnUpdate,
columnNotNull,
columnAutoIncrement,
columnPk,
});
}
if (column.autoincrement?.type === 'deleted') {
statements.push({
type: 'alter_table_alter_column_drop_autoincrement',
tableName,
columnName,
schema,
newDataType: columnType,
columnDefault,
columnOnUpdate,
columnNotNull,
columnAutoIncrement,
columnPk,
});
}
}
for (const column of columns) {
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does prepareAlterColumnsSingleStore() do?
prepareAlterColumnsSingleStore() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/jsonStatements.ts.
Where is prepareAlterColumnsSingleStore() defined?
prepareAlterColumnsSingleStore() is defined in drizzle-kit/src/jsonStatements.ts at line 1717.
What does prepareAlterColumnsSingleStore() call?
prepareAlterColumnsSingleStore() calls 1 function(s): warning.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free