Home / File/ cli-migrate.test.ts — drizzle-orm Source File

cli-migrate.test.ts — drizzle-orm Source File

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

Entity Profile

Dependency Diagram

graph LR
  c5897650_6698_4707_2fd1_c76915a7198c["cli-migrate.test.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111["schema.ts"]
  c5897650_6698_4707_2fd1_c76915a7198c --> 5bf76609_579e_d312_b33b_ab5b8b683111
  1c7f9ac7_5c40_4d3d_8edf_fcb550a29ebe["brocli"]
  c5897650_6698_4707_2fd1_c76915a7198c --> 1c7f9ac7_5c40_4d3d_8edf_fcb550a29ebe
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  c5897650_6698_4707_2fd1_c76915a7198c --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  style c5897650_6698_4707_2fd1_c76915a7198c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { test as brotest } from '@drizzle-team/brocli';
import { assert, expect, test } from 'vitest';
import { migrate } from '../src/cli/schema';

// good:
// #1 drizzle-kit generate
// #2 drizzle-kit generate --config=turso.config.ts
// #3 drizzle-kit generate --config=d1http.config.ts
// #4 drizzle-kit generate --config=postgres.config.ts ## spread connection params
// #5 drizzle-kit generate --config=drizzle2.config.ts ## custom schema and table for migrations journal

// errors:
// #1 drizzle-kit generate --config=expo.config.ts
// TODO: missing required params in config?

test('migrate #1', async (t) => {
	const res = await brotest(migrate, '');
	if (res.type !== 'handler') assert.fail(res.type, 'handler');
	expect(res.options).toStrictEqual({
		dialect: 'postgresql',
		out: 'drizzle',
		credentials: {
			url: 'postgresql://postgres:postgres@127.0.0.1:5432/db',
		},
		schema: undefined, // drizzle migrations table schema
		table: undefined, // drizzle migrations table name
	});
});

test('migrate #2', async (t) => {
	const res = await brotest(migrate, '--config=turso.config.ts');
	if (res.type !== 'handler') assert.fail(res.type, 'handler');
	expect(res.options).toStrictEqual({
		dialect: 'turso',
		out: 'drizzle',
		credentials: {
			authToken: 'token',
			url: 'turso.dev',
		},
		schema: undefined, // drizzle migrations table schema
		table: undefined, // drizzle migrations table name
	});
});

test('migrate #3', async (t) => {
	const res = await brotest(migrate, '--config=d1http.config.ts');
	if (res.type !== 'handler') assert.fail(res.type, 'handler');
	expect(res.options).toStrictEqual({
		dialect: 'sqlite',
		out: 'drizzle',
		credentials: {
			driver: 'd1-http',
			accountId: 'accid',
			databaseId: 'dbid',
			token: 'token',
		},
		schema: undefined, // drizzle migrations table schema
		table: undefined, // drizzle migrations table name
	});
});

test('migrate #4', async (t) => {
	const res = await brotest(migrate, '--config=postgres.config.ts');
	if (res.type !== 'handler') assert.fail(res.type, 'handler');
	expect(res.options).toStrictEqual({
		dialect: 'postgresql',
		out: 'drizzle',
		credentials: {
			database: 'db',
			host: '127.0.0.1',
			password: 'postgres',
			port: 5432,
			user: 'postgresql',
		},
		schema: undefined, // drizzle migrations table schema
		table: undefined, // drizzle migrations table name
	});
});

// catched a bug
test('migrate #5', async (t) => {
	const res = await brotest(migrate, '--config=postgres2.config.ts');
	if (res.type !== 'handler') assert.fail(res.type, 'handler');
	expect(res.options).toStrictEqual({
		dialect: 'postgresql',
		out: 'drizzle',
		credentials: {
			database: 'db',
			host: '127.0.0.1',
			password: 'postgres',
			port: 5432,
			user: 'postgresql',
		},
		schema: 'custom', // drizzle migrations table schema
		table: 'custom', // drizzle migrations table name
	});
});

// --- errors ---
test('err #1', async (t) => {
	const res = await brotest(migrate, '--config=expo.config.ts');
	assert.equal(res.type, 'error');
});

Domain

Dependencies

Frequently Asked Questions

What does cli-migrate.test.ts do?
cli-migrate.test.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain.
What does cli-migrate.test.ts depend on?
cli-migrate.test.ts imports 3 module(s): brocli, schema.ts, vitest.
Where is cli-migrate.test.ts in the architecture?
cli-migrate.test.ts is located at drizzle-kit/tests/cli-migrate.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