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

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

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

Entity Profile

Dependency Diagram

graph LR
  5a671983_ce3e_28a3_b3c9_cfbeb676f283["pg-schemas.test.ts"]
  fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"]
  5a671983_ce3e_28a3_b3c9_cfbeb676f283 --> fb6b4a65_030b_ce6b_df0d_2be21adcd2b3
  c00494ea_6230_22b6_9b91_d37781a8ac08["diffTestSchemas"]
  5a671983_ce3e_28a3_b3c9_cfbeb676f283 --> c00494ea_6230_22b6_9b91_d37781a8ac08
  53497908_16e7_977d_e97d_7414884a88a6["pg-core"]
  5a671983_ce3e_28a3_b3c9_cfbeb676f283 --> 53497908_16e7_977d_e97d_7414884a88a6
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  5a671983_ce3e_28a3_b3c9_cfbeb676f283 --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  style 5a671983_ce3e_28a3_b3c9_cfbeb676f283 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { pgSchema } from 'drizzle-orm/pg-core';
import { expect, test } from 'vitest';
import { diffTestSchemas } from './schemaDiffer';

test('add schema #1', async () => {
	const to = {
		devSchema: pgSchema('dev'),
	};

	const { statements } = await diffTestSchemas({}, to, []);

	expect(statements.length).toBe(1);
	expect(statements[0]).toStrictEqual({
		type: 'create_schema',
		name: 'dev',
	});
});

test('add schema #2', async () => {
	const from = {
		devSchema: pgSchema('dev'),
	};
	const to = {
		devSchema: pgSchema('dev'),
		devSchema2: pgSchema('dev2'),
	};

	const { statements } = await diffTestSchemas(from, to, []);

	expect(statements.length).toBe(1);
	expect(statements[0]).toStrictEqual({
		type: 'create_schema',
		name: 'dev2',
	});
});

test('delete schema #1', async () => {
	const from = {
		devSchema: pgSchema('dev'),
	};

	const { statements } = await diffTestSchemas(from, {}, []);

	expect(statements.length).toBe(1);
	expect(statements[0]).toStrictEqual({
		type: 'drop_schema',
		name: 'dev',
	});
});

test('delete schema #2', async () => {
	const from = {
		devSchema: pgSchema('dev'),
		devSchema2: pgSchema('dev2'),
	};
	const to = {
		devSchema: pgSchema('dev'),
	};

	const { statements } = await diffTestSchemas(from, to, []);

	expect(statements.length).toBe(1);
	expect(statements[0]).toStrictEqual({
		type: 'drop_schema',
		name: 'dev2',
	});
});

test('rename schema #1', async () => {
	const from = {
		devSchema: pgSchema('dev'),
	};
	const to = {
		devSchema2: pgSchema('dev2'),
	};

	const { statements } = await diffTestSchemas(from, to, ['dev->dev2']);

	expect(statements.length).toBe(1);
	expect(statements[0]).toStrictEqual({
		type: 'rename_schema',
		from: 'dev',
		to: 'dev2',
	});
});

test('rename schema #2', async () => {
	const from = {
		devSchema: pgSchema('dev'),
		devSchema1: pgSchema('dev1'),
	};
	const to = {
		devSchema: pgSchema('dev'),
		devSchema2: pgSchema('dev2'),
	};

	const { statements } = await diffTestSchemas(from, to, ['dev1->dev2']);

	expect(statements.length).toBe(1);
	expect(statements[0]).toStrictEqual({
		type: 'rename_schema',
		from: 'dev1',
		to: 'dev2',
	});
});

Domain

Dependencies

Frequently Asked Questions

What does pg-schemas.test.ts do?
pg-schemas.test.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain.
What does pg-schemas.test.ts depend on?
pg-schemas.test.ts imports 4 module(s): diffTestSchemas, pg-core, schemaDiffer.ts, vitest.
Where is pg-schemas.test.ts in the architecture?
pg-schemas.test.ts is located at drizzle-kit/tests/pg-schemas.test.ts (domain: DrizzleORM, directory: drizzle-kit/tests).

Analyze Your Own Codebase

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

Try Supermodel Free