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

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

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

File typescript DrizzleORM DatabaseDrivers 11 imports 6 functions

Entity Profile

Dependency Diagram

graph LR
  567f439d_8bdf_9f45_8fc4_f141db7d67c1["pg-custom.test.ts"]
  d133ab06_e39e_bce4_90ee_a55144ce75c2["pg-common.ts"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> d133ab06_e39e_bce4_90ee_a55144ce75c2
  a90d4692_a295_76b3_2a7a_9924864203ad["createDockerDB"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> a90d4692_a295_76b3_2a7a_9924864203ad
  cad5819d_2851_9c06_9778_62eb6e1b2dab["async-retry"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> cad5819d_2851_9c06_9778_62eb6e1b2dab
  e9c5db23_dc8f_4a33_356a_8f8fbacc4a0e["dockerode"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> e9c5db23_dc8f_4a33_356a_8f8fbacc4a0e
  690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031
  a59b228c_43d4_1772_d3df_66adbf678284["node-postgres"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> a59b228c_43d4_1772_d3df_66adbf678284
  5a4cd68c_6036_b967_0441_ccaa281af1be["migrator"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> 5a4cd68c_6036_b967_0441_ccaa281af1be
  53497908_16e7_977d_e97d_7414884a88a6["pg-core"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> 53497908_16e7_977d_e97d_7414884a88a6
  0d277acf_0d68_9daf_8724_642232a89719["pg"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> 0d277acf_0d68_9daf_8724_642232a89719
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  be4f1824_b255_ba95_9daf_35a679c997bf["utils"]
  567f439d_8bdf_9f45_8fc4_f141db7d67c1 --> be4f1824_b255_ba95_9daf_35a679c997bf
  style 567f439d_8bdf_9f45_8fc4_f141db7d67c1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import retry from 'async-retry';
import type Docker from 'dockerode';
import { asc, eq, sql } from 'drizzle-orm';
import type { NodePgDatabase } from 'drizzle-orm/node-postgres';
import { drizzle } from 'drizzle-orm/node-postgres';
import { migrate } from 'drizzle-orm/node-postgres/migrator';
import { alias, customType, pgTable, pgTableCreator, serial, text } from 'drizzle-orm/pg-core';
import { Client } from 'pg';
import { afterAll, beforeAll, beforeEach, expect, test } from 'vitest';
import { randomString } from '~/utils';
import { createDockerDB } from './pg-common';

const ENABLE_LOGGING = false;

let db: NodePgDatabase;
let client: Client;
let container: Docker.Container | undefined;

beforeAll(async () => {
	let connectionString;
	if (process.env['PG_CONNECTION_STRING']) {
		connectionString = process.env['PG_CONNECTION_STRING'];
	} else {
		const { connectionString: conStr, container: contrainerObj } = await createDockerDB();
		connectionString = conStr;
		container = contrainerObj;
	}
	client = await retry(async () => {
		client = new Client(connectionString);
		await client.connect();
		return client;
	}, {
		retries: 20,
		factor: 1,
		minTimeout: 250,
		maxTimeout: 250,
		randomize: false,
		onRetry() {
			client?.end();
		},
	});
	db = drizzle(client, { logger: ENABLE_LOGGING });
});

afterAll(async () => {
	await client?.end();
	await container?.stop().catch(console.error);
});

beforeEach((ctx) => {
	ctx.pg = {
		db,
	};
});

const customSerial = customType<{ data: number; notNull: true; default: true }>({
	dataType() {
		return 'serial';
	},
});
// ... (739 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does pg-custom.test.ts do?
pg-custom.test.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, DatabaseDrivers subdomain.
What functions are defined in pg-custom.test.ts?
pg-custom.test.ts defines 6 function(s): customBoolean.dataType, customJsonb, customSerial.dataType, customText.dataType, customTimestamp.dataType, customTimestamp.fromDriver.
What does pg-custom.test.ts depend on?
pg-custom.test.ts imports 11 module(s): async-retry, createDockerDB, dockerode, drizzle-orm, migrator, node-postgres, pg, pg-common.ts, and 3 more.
Where is pg-custom.test.ts in the architecture?
pg-custom.test.ts is located at integration-tests/tests/pg/pg-custom.test.ts (domain: DrizzleORM, subdomain: DatabaseDrivers, 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