upMySqlHandlerV4toV5() — drizzle-orm Function Reference
Architecture documentation for the upMySqlHandlerV4toV5() function in mysqlUp.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 1a48a3f3_6689_bbdb_91b7_4e4bc0178ec6["upMySqlHandlerV4toV5()"] 290757cc_8ec0_769b_cd24_8074fcebc663["mysqlUp.ts"] 1a48a3f3_6689_bbdb_91b7_4e4bc0178ec6 -->|defined in| 290757cc_8ec0_769b_cd24_8074fcebc663 style 1a48a3f3_6689_bbdb_91b7_4e4bc0178ec6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/cli/commands/mysqlUp.ts lines 9–102
export const upMySqlHandlerV4toV5 = (obj: MySqlSchemaV4): MySqlSchemaV5 => {
const mappedTables: Record<string, Table> = {};
for (const [key, table] of Object.entries(obj.tables)) {
const mappedColumns: Record<string, Column> = {};
for (const [ckey, column] of Object.entries(table.columns)) {
let newDefault: any = column.default;
let newType: string = column.type;
let newAutoIncrement: boolean | undefined = column.autoincrement;
if (column.type.toLowerCase().startsWith('datetime')) {
if (typeof column.default !== 'undefined') {
if (column.default.startsWith("'") && column.default.endsWith("'")) {
newDefault = `'${
column.default
.substring(1, column.default.length - 1)
.replace('T', ' ')
.slice(0, 23)
}'`;
} else {
newDefault = column.default.replace('T', ' ').slice(0, 23);
}
}
newType = column.type.toLowerCase().replace('datetime (', 'datetime(');
} else if (column.type.toLowerCase() === 'date') {
if (typeof column.default !== 'undefined') {
if (column.default.startsWith("'") && column.default.endsWith("'")) {
newDefault = `'${
column.default
.substring(1, column.default.length - 1)
.split('T')[0]
}'`;
} else {
newDefault = column.default.split('T')[0];
}
}
newType = column.type.toLowerCase().replace('date (', 'date(');
} else if (column.type.toLowerCase().startsWith('timestamp')) {
if (typeof column.default !== 'undefined') {
if (column.default.startsWith("'") && column.default.endsWith("'")) {
newDefault = `'${
column.default
.substring(1, column.default.length - 1)
.replace('T', ' ')
.slice(0, 23)
}'`;
} else {
newDefault = column.default.replace('T', ' ').slice(0, 23);
}
}
newType = column.type
.toLowerCase()
.replace('timestamp (', 'timestamp(');
} else if (column.type.toLowerCase().startsWith('time')) {
newType = column.type.toLowerCase().replace('time (', 'time(');
} else if (column.type.toLowerCase().startsWith('decimal')) {
newType = column.type.toLowerCase().replace(', ', ',');
} else if (column.type.toLowerCase().startsWith('enum')) {
newType = column.type.toLowerCase();
} else if (column.type.toLowerCase().startsWith('serial')) {
newAutoIncrement = true;
}
mappedColumns[ckey] = {
...column,
default: newDefault,
type: newType,
autoincrement: newAutoIncrement,
};
}
mappedTables[key] = {
...table,
columns: mappedColumns,
compositePrimaryKeys: {},
uniqueConstraints: {},
checkConstraint: {},
};
}
return {
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does upMySqlHandlerV4toV5() do?
upMySqlHandlerV4toV5() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/cli/commands/mysqlUp.ts.
Where is upMySqlHandlerV4toV5() defined?
upMySqlHandlerV4toV5() is defined in drizzle-kit/src/cli/commands/mysqlUp.ts at line 9.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free