convert() — drizzle-orm Function Reference
Architecture documentation for the convert() function in sqlgenerator.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 6cc829f4_7552_f1df_945b_922fc0e8aed0["convert()"] 513d6031_a024_c403_18b5_dfa442a67299["SingleStoreCreateTableConvertor"] 6cc829f4_7552_f1df_945b_922fc0e8aed0 -->|defined in| 513d6031_a024_c403_18b5_dfa442a67299 style 6cc829f4_7552_f1df_945b_922fc0e8aed0 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/sqlgenerator.ts lines 587–655
convert(st: JsonCreateTableStatement) {
const {
tableName,
columns,
schema,
compositePKs,
uniqueConstraints,
internals,
} = st;
let statement = '';
statement += `CREATE TABLE \`${tableName}\` (\n`;
for (let i = 0; i < columns.length; i++) {
const column = columns[i];
const primaryKeyStatement = column.primaryKey ? ' PRIMARY KEY' : '';
const notNullStatement = column.notNull ? ' NOT NULL' : '';
const defaultStatement = column.default !== undefined ? ` DEFAULT ${column.default}` : '';
const onUpdateStatement = column.onUpdate
? ` ON UPDATE CURRENT_TIMESTAMP`
: '';
const autoincrementStatement = column.autoincrement
? ' AUTO_INCREMENT'
: '';
const generatedStatement = column.generated
? ` GENERATED ALWAYS AS (${column.generated?.as}) ${column.generated?.type.toUpperCase()}`
: '';
statement += '\t'
+ `\`${column.name}\` ${column.type}${autoincrementStatement}${primaryKeyStatement}${notNullStatement}${defaultStatement}${onUpdateStatement}${generatedStatement}`;
statement += i === columns.length - 1 ? '' : ',\n';
}
if (typeof compositePKs !== 'undefined' && compositePKs.length > 0) {
statement += ',\n';
const compositePK = SingleStoreSquasher.unsquashPK(compositePKs[0]);
statement += `\tCONSTRAINT \`${compositePK.name}\` PRIMARY KEY(\`${compositePK.columns.join(`\`,\``)}\`)`;
}
if (
typeof uniqueConstraints !== 'undefined'
&& uniqueConstraints.length > 0
) {
for (const uniqueConstraint of uniqueConstraints) {
statement += ',\n';
const unsquashedUnique = SingleStoreSquasher.unsquashUnique(uniqueConstraint);
const uniqueString = unsquashedUnique.columns
.map((it) => {
return internals?.indexes
? internals?.indexes[unsquashedUnique.name]?.columns[it]
?.isExpression
? it
: `\`${it}\``
: `\`${it}\``;
})
.join(',');
statement += `\tCONSTRAINT \`${unsquashedUnique.name}\` UNIQUE(${uniqueString})`;
}
}
statement += `\n);`;
statement += `\n`;
return statement;
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does convert() do?
convert() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/sqlgenerator.ts.
Where is convert() defined?
convert() is defined in drizzle-kit/src/sqlgenerator.ts at line 587.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free