Home / File/ connections.ts — drizzle-orm Source File

connections.ts — drizzle-orm Source File

Architecture documentation for connections.ts, a typescript file in the drizzle-orm codebase. 26 imports, 0 dependents.

File typescript DrizzleKit SchemaDiffer 26 imports 11 functions

Entity Profile

Dependency Diagram

graph LR
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59["connections.ts"]
  8f03c4cf_4fdf_b056_3b24_d493cab0cc81["global.ts"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 8f03c4cf_4fdf_b056_3b24_d493cab0cc81
  071bfc71_ad06_c0c4_cba2_360298dd4b47["assertUnreachable"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 071bfc71_ad06_c0c4_cba2_360298dd4b47
  82de12f8_a8ca_9d38_8da8_9ac945d81e01["studio.ts"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 82de12f8_a8ca_9d38_8da8_9ac945d81e01
  5847e5ae_7b4a_4b02_b68f_883ef88b3c1a["utils.ts"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a
  ee1f6134_c001_9f1a_f468_64e70f981588["LibSQLDB"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> ee1f6134_c001_9f1a_f468_64e70f981588
  1cce4157_49ff_47a7_1088_5446d4c9a3be["normalisePGliteUrl"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 1cce4157_49ff_47a7_1088_5446d4c9a3be
  a7e5f36c_3b28_1510_a488_f9186cbffe48["normaliseSQLiteUrl"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> a7e5f36c_3b28_1510_a488_f9186cbffe48
  34140e39_ad92_a121_09b2_e3e2624fd021["utils.ts"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 34140e39_ad92_a121_09b2_e3e2624fd021
  773f4a96_2112_a02f_6216_ecef4a99527a["assertPackages"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 773f4a96_2112_a02f_6216_ecef4a99527a
  7aefe3aa_a868_e43f_09eb_fcf0004526d1["checkPackage"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 7aefe3aa_a868_e43f_09eb_fcf0004526d1
  3b06bb5a_5f4f_2e22_4153_4879511c568b["gel.ts"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 3b06bb5a_5f4f_2e22_4153_4879511c568b
  adef07d6_dac2_2e22_a4aa_02d3e0415f9a["GelCredentials"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> adef07d6_dac2_2e22_a4aa_02d3e0415f9a
  06060c75_d281_2312_e011_483025ec5bdf["libsql.ts"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 06060c75_d281_2312_e011_483025ec5bdf
  1bfa7e93_7448_d7f8_6ad8_b360047cf886["LibSQLCredentials"]
  4e02c2bb_54a8_1500_813e_2cafd1ad4f59 --> 1bfa7e93_7448_d7f8_6ad8_b360047cf886
  style 4e02c2bb_54a8_1500_813e_2cafd1ad4f59 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/// <reference types="@cloudflare/workers-types" />
import type { PGlite } from '@electric-sql/pglite';
import type { AwsDataApiPgQueryResult, AwsDataApiSessionOptions } from 'drizzle-orm/aws-data-api/pg';
import type { MigrationConfig } from 'drizzle-orm/migrator';
import type { PreparedQueryConfig } from 'drizzle-orm/pg-core';
import fetch from 'node-fetch';
import ws from 'ws';
import { assertUnreachable } from '../global';
import type { ProxyParams } from '../serializer/studio';
import {
	type DB,
	LibSQLDB,
	normalisePGliteUrl,
	normaliseSQLiteUrl,
	type Proxy,
	type SQLiteDB,
	type TransactionProxy,
} from '../utils';
import { assertPackages, checkPackage } from './utils';
import { GelCredentials } from './validations/gel';
import { LibSQLCredentials } from './validations/libsql';
import type { MysqlCredentials } from './validations/mysql';
import { withStyle } from './validations/outputs';
import type { PostgresCredentials } from './validations/postgres';
import { SingleStoreCredentials } from './validations/singlestore';
import type { SqliteCredentials } from './validations/sqlite';

export const preparePostgresDB = async (
	credentials: PostgresCredentials | {
		driver: 'pglite';
		client: PGlite;
	},
): Promise<
	DB & {
		packageName:
			| '@aws-sdk/client-rds-data'
			| 'pglite'
			| 'pg'
			| 'postgres'
			| '@vercel/postgres'
			| '@neondatabase/serverless';
		proxy: Proxy;
		transactionProxy: TransactionProxy;
		migrate: (config: string | MigrationConfig) => Promise<void>;
	}
> => {
	if ('driver' in credentials) {
		const { driver } = credentials;
		if (driver === 'aws-data-api') {
			assertPackages('@aws-sdk/client-rds-data');
			const { RDSDataClient, ExecuteStatementCommand, TypeHint } = await import(
				'@aws-sdk/client-rds-data'
			);
			const { AwsDataApiSession, drizzle } = await import(
				'drizzle-orm/aws-data-api/pg'
			);
			const { migrate } = await import('drizzle-orm/aws-data-api/pg/migrator');
			const { PgDialect } = await import('drizzle-orm/pg-core');

			const config: AwsDataApiSessionOptions = {
// ... (1300 more lines)

Domain

Subdomains

Frequently Asked Questions

What does connections.ts do?
connections.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain, SchemaDiffer subdomain.
What functions are defined in connections.ts?
connections.ts defines 11 function(s): connectToD1, connectToLibSQL, connectToMySQL, connectToSQLite, connectToSingleStore, parseMysqlCredentials, parseSingleStoreCredentials, prepareGelDB, preparePGliteParams, preparePostgresDB, and 1 more.
What does connections.ts depend on?
connections.ts imports 26 module(s): GelCredentials, LibSQLCredentials, LibSQLDB, SingleStoreCredentials, assertPackages, assertUnreachable, checkPackage, gel.ts, and 18 more.
Where is connections.ts in the architecture?
connections.ts is located at drizzle-kit/src/cli/connections.ts (domain: DrizzleKit, subdomain: SchemaDiffer, directory: drizzle-kit/src/cli).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free