Home / Function/ connectToSQLite() — drizzle-orm Function Reference

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

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