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

relation.test.ts — drizzle-orm Source File

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

File typescript 3 imports

Entity Profile

Dependency Diagram

graph LR
  81143970_85f1_eb24_a69b_6f34c755bc99["relation.test.ts"]
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  81143970_85f1_eb24_a69b_6f34c755bc99 --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  fa14e9c0_b73d_4bcb_463b_adf18df8a285["index.ts"]
  81143970_85f1_eb24_a69b_6f34c755bc99 --> fa14e9c0_b73d_4bcb_463b_adf18df8a285
  e4d6a0ab_9aa2_13a6_a2f1_58d94314c3f2["relations.ts"]
  81143970_85f1_eb24_a69b_6f34c755bc99 --> e4d6a0ab_9aa2_13a6_a2f1_58d94314c3f2
  style 81143970_85f1_eb24_a69b_6f34c755bc99 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { expect, test } from 'vitest';

import { pgSchema, pgTable } from '~/pg-core/index.ts';
import { createTableRelationsHelpers, extractTablesRelationalConfig } from '~/relations.ts';

test('tables with same name in different schemas', () => {
	const folder = pgSchema('folder');
	const schema = {
		folder: {
			usersInFolder: folder.table('users', {}),
		},
		public: {
			users: pgTable('users', {}),
		},
	};

	const relationalSchema = {
		...Object.fromEntries(
			Object.entries(schema)
				.flatMap(([key, val]) => {
					// have unique keys across schemas

					const mappedTableEntries = Object.entries(val).map((tableEntry) => {
						return [`__${key}__.${tableEntry[0]}`, tableEntry[1]];
					});

					return mappedTableEntries;
				}),
		),
	};

	const relationsConfig = extractTablesRelationalConfig(
		relationalSchema,
		createTableRelationsHelpers,
	);

	expect(Object.keys(relationsConfig)).toHaveLength(2);
});

Dependencies

  • index.ts
  • relations.ts
  • vitest

Frequently Asked Questions

What does relation.test.ts do?
relation.test.ts is a source file in the drizzle-orm codebase, written in typescript.
What does relation.test.ts depend on?
relation.test.ts imports 3 module(s): index.ts, relations.ts, vitest.
Where is relation.test.ts in the architecture?
relation.test.ts is located at drizzle-orm/tests/relation.test.ts (directory: drizzle-orm/tests).

Analyze Your Own Codebase

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

Try Supermodel Free