connectToSQLite() — drizzle-orm Function Reference
Architecture documentation for the connectToSQLite() function in connections.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 6ae846ed_e380_1862_4b08_adb2d7fa0275["connectToSQLite()"] 4e02c2bb_54a8_1500_813e_2cafd1ad4f59["connections.ts"] 6ae846ed_e380_1862_4b08_adb2d7fa0275 -->|defined in| 4e02c2bb_54a8_1500_813e_2cafd1ad4f59 414ec951_dc1c_5030_4563_03e41560a793["prepareSqliteParams()"] 6ae846ed_e380_1862_4b08_adb2d7fa0275 -->|calls| 414ec951_dc1c_5030_4563_03e41560a793 071bfc71_ad06_c0c4_cba2_360298dd4b47["assertUnreachable()"] 6ae846ed_e380_1862_4b08_adb2d7fa0275 -->|calls| 071bfc71_ad06_c0c4_cba2_360298dd4b47 7aefe3aa_a868_e43f_09eb_fcf0004526d1["checkPackage()"] 6ae846ed_e380_1862_4b08_adb2d7fa0275 -->|calls| 7aefe3aa_a868_e43f_09eb_fcf0004526d1 a7e5f36c_3b28_1510_a488_f9186cbffe48["normaliseSQLiteUrl()"] 6ae846ed_e380_1862_4b08_adb2d7fa0275 -->|calls| a7e5f36c_3b28_1510_a488_f9186cbffe48 style 6ae846ed_e380_1862_4b08_adb2d7fa0275 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/cli/connections.ts lines 998–1279
export const connectToSQLite = async (
credentials: SqliteCredentials,
): Promise<
& SQLiteDB
& {
packageName: 'd1-http' | '@libsql/client' | 'better-sqlite3';
migrate: (config: MigrationConfig) => Promise<void>;
proxy: Proxy;
transactionProxy: TransactionProxy;
}
> => {
if ('driver' in credentials) {
const { driver } = credentials;
if (driver === 'd1-http') {
const { drizzle } = await import('drizzle-orm/sqlite-proxy');
const { migrate } = await import('drizzle-orm/sqlite-proxy/migrator');
type D1Response =
| {
success: true;
result: {
results:
| any[]
| {
columns: string[];
rows: any[][];
};
}[];
}
| {
success: false;
errors: { code: number; message: string }[];
};
const remoteCallback: Parameters<typeof drizzle>[0] = async (
sql,
params,
method,
) => {
const res = await fetch(
`https://api.cloudflare.com/client/v4/accounts/${credentials.accountId}/d1/database/${credentials.databaseId}/${
method === 'values' ? 'raw' : 'query'
}`,
{
method: 'POST',
body: JSON.stringify({ sql, params }),
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${credentials.token}`,
},
},
);
const data = (await res.json()) as D1Response;
if (!data.success) {
throw new Error(
data.errors.map((it) => `${it.code}: ${it.message}`).join('\n'),
);
}
const result = data.result[0].results;
const rows = Array.isArray(result) ? result : result.rows;
return {
rows,
};
};
const remoteBatchCallback = async (
queries: {
sql: string;
}[],
) => {
const sql = queries.map((q) => q.sql).join('; ');
const res = await fetch(
`https://api.cloudflare.com/client/v4/accounts/${credentials.accountId}/d1/database/${credentials.databaseId}/query`,
{
method: 'POST',
body: JSON.stringify({ sql }),
headers: {
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does connectToSQLite() do?
connectToSQLite() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/cli/connections.ts.
Where is connectToSQLite() defined?
connectToSQLite() is defined in drizzle-kit/src/cli/connections.ts at line 998.
What does connectToSQLite() call?
connectToSQLite() calls 4 function(s): assertUnreachable, checkPackage, normaliseSQLiteUrl, prepareSqliteParams.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free