Home / File/ vercel-pg.test.ts — drizzle-orm Source File

vercel-pg.test.ts — drizzle-orm Source File

Architecture documentation for vercel-pg.test.ts, a typescript file in the drizzle-orm codebase. 14 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  84938f9c_b5e7_5557_b403_2999c08bf037["vercel-pg.test.ts"]
  d133ab06_e39e_bce4_90ee_a55144ce75c2["pg-common.ts"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> d133ab06_e39e_bce4_90ee_a55144ce75c2
  a90d4692_a295_76b3_2a7a_9924864203ad["createDockerDB"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> a90d4692_a295_76b3_2a7a_9924864203ad
  d4e96821_5055_cb66_dd7b_f89dd0f8d0a0["tests"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> d4e96821_5055_cb66_dd7b_f89dd0f8d0a0
  7b6fdfe3_d9a8_26c3_430d_2261b1d7aadb["pg-common-cache.ts"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> 7b6fdfe3_d9a8_26c3_430d_2261b1d7aadb
  76da0078_4d8f_9615_8689_c44d597d58dc["TestCache"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> 76da0078_4d8f_9615_8689_c44d597d58dc
  d43d88d6_c6b6_386d_d59b_76b8db53bf29["TestGlobalCache"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> d43d88d6_c6b6_386d_d59b_76b8db53bf29
  74711ae3_e5be_1fb9_6f6b_6af95540b473["postgres"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> 74711ae3_e5be_1fb9_6f6b_6af95540b473
  690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031
  53497908_16e7_977d_e97d_7414884a88a6["pg-core"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> 53497908_16e7_977d_e97d_7414884a88a6
  d94eb0c3_63a2_dedb_eba8_743649f08c77["vercel-postgres"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> d94eb0c3_63a2_dedb_eba8_743649f08c77
  a2372889_d5b1_0dee_3476_da94da0cf65f["migrator"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> a2372889_d5b1_0dee_3476_da94da0cf65f
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  5536e6a8_02de_67a7_6eaf_0fd73c9c2d92["common"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> 5536e6a8_02de_67a7_6eaf_0fd73c9c2d92
  be4f1824_b255_ba95_9daf_35a679c997bf["utils"]
  84938f9c_b5e7_5557_b403_2999c08bf037 --> be4f1824_b255_ba95_9daf_35a679c997bf
  style 84938f9c_b5e7_5557_b403_2999c08bf037 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { createClient, type VercelClient } from '@vercel/postgres';
import { sql } from 'drizzle-orm';
import { pgTable, serial, timestamp } from 'drizzle-orm/pg-core';
import { drizzle, type VercelPgDatabase } from 'drizzle-orm/vercel-postgres';
import { migrate } from 'drizzle-orm/vercel-postgres/migrator';
import { afterAll, beforeAll, beforeEach, expect, test } from 'vitest';
import { skipTests } from '~/common';
import { randomString } from '~/utils';
import { createDockerDB, tests, tests as cacheTests, usersMigratorTable, usersTable } from './pg-common';
import { TestCache, TestGlobalCache } from './pg-common-cache';

const ENABLE_LOGGING = false;

let db: VercelPgDatabase;
let dbGlobalCached: VercelPgDatabase;
let cachedDb: VercelPgDatabase;
let client: VercelClient;

beforeAll(async () => {
	let connectionString;
	if (process.env['PG_CONNECTION_STRING']) {
		connectionString = process.env['PG_CONNECTION_STRING'];
	} else {
		const { connectionString: conStr } = await createDockerDB();
		connectionString = conStr;
	}

	const sleep = 250;
	let timeLeft = 5000;
	let connected = false;
	let lastError: unknown | undefined;
	do {
		try {
			client = createClient({ connectionString });
			await client.connect();
			connected = true;
			break;
		} catch (e) {
			lastError = e;
			await new Promise((resolve) => setTimeout(resolve, sleep));
			timeLeft -= sleep;
		}
	} while (timeLeft > 0);
	if (!connected) {
		console.log(connectionString);
		console.error('Cannot connect to Postgres');
		await client?.end().catch(console.error);
		// await pgContainer?.stop().catch(console.error);
		throw lastError;
	}
	db = drizzle(client, { logger: ENABLE_LOGGING });
	cachedDb = drizzle(client, { logger: ENABLE_LOGGING, cache: new TestCache() });
	dbGlobalCached = drizzle(client, { logger: ENABLE_LOGGING, cache: new TestGlobalCache() });
});

afterAll(async () => {
	await client?.end();
});

beforeEach((ctx) => {
// ... (441 more lines)

Domain

Dependencies

Frequently Asked Questions

What does vercel-pg.test.ts do?
vercel-pg.test.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain.
What does vercel-pg.test.ts depend on?
vercel-pg.test.ts imports 14 module(s): TestCache, TestGlobalCache, common, createDockerDB, drizzle-orm, migrator, pg-common-cache.ts, pg-common.ts, and 6 more.
Where is vercel-pg.test.ts in the architecture?
vercel-pg.test.ts is located at integration-tests/tests/pg/vercel-pg.test.ts (domain: DrizzleORM, directory: integration-tests/tests/pg).

Analyze Your Own Codebase

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

Try Supermodel Free