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

mysql.test.ts — drizzle-orm Source File

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

Entity Profile

Dependency Diagram

graph LR
  73ace9da_2d80_d247_2f37_7c3e14081ec3["mysql.test.ts"]
  ff684fca_1bf3_44b7_31ea_13a57f1e853d["index.ts"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> ff684fca_1bf3_44b7_31ea_13a57f1e853d
  a613cfae_0db3_657f_d051_120c70da7539["utils.ts"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> a613cfae_0db3_657f_d051_120c70da7539
  70d5e558_f261_97fa_a887_7d6f05ebdc71["Expect"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> 70d5e558_f261_97fa_a887_7d6f05ebdc71
  13da7f47_c488_1c05_a7ef_a5bccb3b8a71["expectSchemaShape"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> 13da7f47_c488_1c05_a7ef_a5bccb3b8a71
  690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031
  93ed9350_daa0_6c21_81a6_ed6b2a48bbdf["mysql-core"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> 93ed9350_daa0_6c21_81a6_ed6b2a48bbdf
  e3330aa9_fee9_b340_1093_1c8a98953c05["json-rules-engine"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> e3330aa9_fee9_b340_1093_1c8a98953c05
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  2eba3e52_10ef_4b48_38fc_0e1540a5fc3e["v4"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> 2eba3e52_10ef_4b48_38fc_0e1540a5fc3e
  05f0a280_d0c9_693a_a4bf_83cc671012d2["column.ts"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> 05f0a280_d0c9_693a_a4bf_83cc671012d2
  45e26f9d_6717_943d_0371_5d349b8c9472["constants.ts"]
  73ace9da_2d80_d247_2f37_7c3e14081ec3 --> 45e26f9d_6717_943d_0371_5d349b8c9472
  style 73ace9da_2d80_d247_2f37_7c3e14081ec3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { type Equal, sql } from 'drizzle-orm';
import { customType, int, json, mysqlSchema, mysqlTable, mysqlView, serial, text } from 'drizzle-orm/mysql-core';
import type { TopLevelCondition } from 'json-rules-engine';
import { test } from 'vitest';
import { z } from 'zod/v4';
import { jsonSchema } from '~/column.ts';
import { CONSTANTS } from '~/constants.ts';
import { createInsertSchema, createSchemaFactory, createSelectSchema, createUpdateSchema } from '../src';
import { Expect, expectSchemaShape } from './utils.ts';

const intSchema = z.int().gte(CONSTANTS.INT32_MIN).lte(CONSTANTS.INT32_MAX);
const serialNumberModeSchema = z.int().gte(0).lte(Number.MAX_SAFE_INTEGER);
const textSchema = z.string().max(CONSTANTS.INT16_UNSIGNED_MAX);

test('table - select', (t) => {
	const table = mysqlTable('test', {
		id: serial().primaryKey(),
		generated: int().generatedAlwaysAs(1).notNull(),
		name: text().notNull(),
	});

	const result = createSelectSchema(table);
	const expected = z.object({ id: serialNumberModeSchema, generated: intSchema, name: textSchema });
	expectSchemaShape(t, expected).from(result);
	Expect<Equal<typeof result, typeof expected>>();
});

test('table in schema - select', (tc) => {
	const schema = mysqlSchema('test');
	const table = schema.table('test', {
		id: serial().primaryKey(),
		name: text().notNull(),
	});

	const result = createSelectSchema(table);
	const expected = z.object({ id: serialNumberModeSchema, name: textSchema });
	expectSchemaShape(tc, expected).from(result);
	Expect<Equal<typeof result, typeof expected>>();
});

test('table - insert', (t) => {
	const table = mysqlTable('test', {
		id: serial().primaryKey(),
		name: text().notNull(),
		age: int(),
	});

	const result = createInsertSchema(table);
	const expected = z.object({
		id: serialNumberModeSchema.optional(),
		name: textSchema,
		age: intSchema.nullable().optional(),
	});
	expectSchemaShape(t, expected).from(result);
	Expect<Equal<typeof result, typeof expected>>();
});

test('table - update', (t) => {
	const table = mysqlTable('test', {
		id: serial().primaryKey(),
// ... (497 more lines)

Subdomains

Dependencies

Frequently Asked Questions

What does mysql.test.ts do?
mysql.test.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the ValidationAdapters domain, TypeMapping subdomain.
What functions are defined in mysql.test.ts?
mysql.test.ts defines 3 function(s): TopLevelCondition, nestedSelect, view.
What does mysql.test.ts depend on?
mysql.test.ts imports 11 module(s): Expect, column.ts, constants.ts, drizzle-orm, expectSchemaShape, index.ts, json-rules-engine, mysql-core, and 3 more.
Where is mysql.test.ts in the architecture?
mysql.test.ts is located at drizzle-zod/tests/mysql.test.ts (domain: ValidationAdapters, subdomain: TypeMapping, directory: drizzle-zod/tests).

Analyze Your Own Codebase

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

Try Supermodel Free