CreateSqliteIndexConvertor Class — drizzle-orm Architecture
Architecture documentation for the CreateSqliteIndexConvertor class in sqlgenerator.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 01959b95_70b4_ccae_6c93_53d172a9e0cc["CreateSqliteIndexConvertor"] fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"] 01959b95_70b4_ccae_6c93_53d172a9e0cc -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939 9db980fc_1514_4b45_7bd8_456b2c8432e7["can()"] 01959b95_70b4_ccae_6c93_53d172a9e0cc -->|method| 9db980fc_1514_4b45_7bd8_456b2c8432e7 a68c9525_35a2_06ea_47c5_2757768f9f03["convert()"] 01959b95_70b4_ccae_6c93_53d172a9e0cc -->|method| a68c9525_35a2_06ea_47c5_2757768f9f03
Relationship Graph
Source Code
drizzle-kit/src/sqlgenerator.ts lines 3605–3629
export class CreateSqliteIndexConvertor extends Convertor {
can(statement: JsonStatement, dialect: Dialect): boolean {
return statement.type === 'create_index' && (dialect === 'sqlite' || dialect === 'turso');
}
convert(statement: JsonCreateIndexStatement): string {
// should be changed
const { name, columns, isUnique, where } = SQLiteSquasher.unsquashIdx(
statement.data,
);
// // since postgresql 9.5
const indexPart = isUnique ? 'UNIQUE INDEX' : 'INDEX';
const whereStatement = where ? ` WHERE ${where}` : '';
const uniqueString = columns
.map((it) => {
return statement.internal?.indexes
? statement.internal?.indexes[name]?.columns[it]?.isExpression
? it
: `\`${it}\``
: `\`${it}\``;
})
.join(',');
return `CREATE ${indexPart} \`${name}\` ON \`${statement.tableName}\` (${uniqueString})${whereStatement};`;
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the CreateSqliteIndexConvertor class?
CreateSqliteIndexConvertor is a class in the drizzle-orm codebase, defined in drizzle-kit/src/sqlgenerator.ts.
Where is CreateSqliteIndexConvertor defined?
CreateSqliteIndexConvertor is defined in drizzle-kit/src/sqlgenerator.ts at line 3605.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free