Home / File/ mysql-proxy.test.ts — drizzle-orm Source File

mysql-proxy.test.ts — drizzle-orm Source File

Architecture documentation for mysql-proxy.test.ts, a typescript file in the drizzle-orm codebase. 8 imports, 0 dependents.

File typescript DrizzleORM SQLDialects 8 imports 1 classes

Entity Profile

Dependency Diagram

graph LR
  5852db24_8352_dcff_7363_b8ff5c9f3d7f["mysql-proxy.test.ts"]
  bcd266b2_f6a8_0abb_2a24_40a68c6f8cc5["mysql-common.ts"]
  5852db24_8352_dcff_7363_b8ff5c9f3d7f --> bcd266b2_f6a8_0abb_2a24_40a68c6f8cc5
  64e47068_0d10_97d9_a217_b4a7be9ca005["createDockerDB"]
  5852db24_8352_dcff_7363_b8ff5c9f3d7f --> 64e47068_0d10_97d9_a217_b4a7be9ca005
  e9ea1e58_4116_09ab_4725_c9e3a74adeb7["tests"]
  5852db24_8352_dcff_7363_b8ff5c9f3d7f --> e9ea1e58_4116_09ab_4725_c9e3a74adeb7
  cad5819d_2851_9c06_9778_62eb6e1b2dab["async-retry"]
  5852db24_8352_dcff_7363_b8ff5c9f3d7f --> cad5819d_2851_9c06_9778_62eb6e1b2dab
  9a4fa9c4_e900_cdc1_756f_bfc7a37a9312["mysql-proxy"]
  5852db24_8352_dcff_7363_b8ff5c9f3d7f --> 9a4fa9c4_e900_cdc1_756f_bfc7a37a9312
  a340f455_7575_91f4_791a_10cd9b9dba1a["promise"]
  5852db24_8352_dcff_7363_b8ff5c9f3d7f --> a340f455_7575_91f4_791a_10cd9b9dba1a
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  5852db24_8352_dcff_7363_b8ff5c9f3d7f --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  5536e6a8_02de_67a7_6eaf_0fd73c9c2d92["common"]
  5852db24_8352_dcff_7363_b8ff5c9f3d7f --> 5536e6a8_02de_67a7_6eaf_0fd73c9c2d92
  style 5852db24_8352_dcff_7363_b8ff5c9f3d7f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import retry from 'async-retry';
import type { MySqlRemoteDatabase } from 'drizzle-orm/mysql-proxy';
import { drizzle as proxyDrizzle } from 'drizzle-orm/mysql-proxy';
import * as mysql from 'mysql2/promise';
import { afterAll, beforeAll, beforeEach } from 'vitest';
import { skipTests } from '~/common';
import { createDockerDB, tests } from './mysql-common';

const ENABLE_LOGGING = false;

// eslint-disable-next-line drizzle-internal/require-entity-kind
class ServerSimulator {
	constructor(private db: mysql.Connection) {}

	async query(sql: string, params: any[], method: 'all' | 'execute') {
		if (method === 'all') {
			try {
				const result = await this.db.query({
					sql,
					values: params,
					rowsAsArray: true,
					typeCast: function(field: any, next: any) {
						if (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {
							return field.string();
						}
						return next();
					},
				});

				return { data: result[0] as any };
			} catch (e: any) {
				return { error: e };
			}
		} else if (method === 'execute') {
			try {
				const result = await this.db.query({
					sql,
					values: params,
					typeCast: function(field: any, next: any) {
						if (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {
							return field.string();
						}
						return next();
					},
				});

				return { data: result as any };
			} catch (e: any) {
				return { error: e };
			}
		} else {
			return { error: 'Unknown method value' };
		}
	}

	async migrations(queries: string[]) {
		await this.db.query('START TRANSACTION');
		try {
			for (const query of queries) {
				await this.db.query(query);
// ... (80 more lines)

Domain

Subdomains

Classes

Dependencies

Frequently Asked Questions

What does mysql-proxy.test.ts do?
mysql-proxy.test.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, SQLDialects subdomain.
What does mysql-proxy.test.ts depend on?
mysql-proxy.test.ts imports 8 module(s): async-retry, common, createDockerDB, mysql-common.ts, mysql-proxy, promise, tests, vitest.
Where is mysql-proxy.test.ts in the architecture?
mysql-proxy.test.ts is located at integration-tests/tests/mysql/mysql-proxy.test.ts (domain: DrizzleORM, subdomain: SQLDialects, directory: integration-tests/tests/mysql).

Analyze Your Own Codebase

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

Try Supermodel Free