Home / File/ schema.ts — drizzle-orm Source File

schema.ts — drizzle-orm Source File

Architecture documentation for schema.ts, a typescript file in the drizzle-orm codebase. 47 imports, 5 dependents.

File typescript DrizzleKit Introspection 47 imports 5 dependents 17 functions

Entity Profile

Dependency Diagram

graph LR
  5bf76609_579e_d312_b33b_ab5b8b683111["schema.ts"]
  036f4e7e_88ec_1167_0cc5_711786d91440["utils.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 036f4e7e_88ec_1167_0cc5_711786d91440
  8f03c4cf_4fdf_b056_3b24_d493cab0cc81["global.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 8f03c4cf_4fdf_b056_3b24_d493cab0cc81
  071bfc71_ad06_c0c4_cba2_360298dd4b47["assertUnreachable"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 071bfc71_ad06_c0c4_cba2_360298dd4b47
  82de12f8_a8ca_9d38_8da8_9ac945d81e01["studio.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 82de12f8_a8ca_9d38_8da8_9ac945d81e01
  5847e5ae_7b4a_4b02_b68f_883ef88b3c1a["utils.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a
  5f10022b_622b_eb8e_812e_30a6459027c8["assertV1OutFolder"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 5f10022b_622b_eb8e_812e_30a6459027c8
  41aba6b6_e7c2_68d7_c84b_306b1d65e253["certs.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 41aba6b6_e7c2_68d7_c84b_306b1d65e253
  170d6b56_991b_37cf_700d_e3137550d5b1["certs"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 170d6b56_991b_37cf_700d_e3137550d5b1
  6ea07f83_f4a3_1c2d_2fdd_b14c317bc55d["check.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 6ea07f83_f4a3_1c2d_2fdd_b14c317bc55d
  3082c777_0c92_ea57_9752_a40713e25ea2["checkHandler"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 3082c777_0c92_ea57_9752_a40713e25ea2
  abecef96_5a79_62f4_9fa7_4cac90f0bb61["drop.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> abecef96_5a79_62f4_9fa7_4cac90f0bb61
  9db4762b_73d0_9f4c_0b4a_81e3441cd04e["dropMigration"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 9db4762b_73d0_9f4c_0b4a_81e3441cd04e
  290757cc_8ec0_769b_cd24_8074fcebc663["mysqlUp.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 290757cc_8ec0_769b_cd24_8074fcebc663
  9a19364d_8a71_3ddb_5628_bc9fb4f1b094["upMysqlHandler"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 9a19364d_8a71_3ddb_5628_bc9fb4f1b094
  style 5bf76609_579e_d312_b33b_ab5b8b683111 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { boolean, command, number, string } from '@drizzle-team/brocli';
import chalk from 'chalk';
import 'dotenv/config';
import { mkdirSync } from 'fs';
import { renderWithTask } from 'hanji';
import { dialects } from 'src/schemaValidator';
import '../@types/utils';
import { assertUnreachable } from '../global';
import { type Setup } from '../serializer/studio';
import { assertV1OutFolder } from '../utils';
import { certs } from '../utils/certs';
import { checkHandler } from './commands/check';
import { dropMigration } from './commands/drop';
import { upMysqlHandler } from './commands/mysqlUp';
import { upPgHandler } from './commands/pgUp';
import { upSinglestoreHandler } from './commands/singlestoreUp';
import { upSqliteHandler } from './commands/sqliteUp';
import {
	prepareCheckParams,
	prepareDropParams,
	prepareExportConfig,
	prepareGenerateConfig,
	prepareMigrateConfig,
	preparePullConfig,
	preparePushConfig,
	prepareStudioConfig,
} from './commands/utils';
import { assertOrmCoreVersion, assertPackages, assertStudioNodeVersion, ormVersionGt } from './utils';
import { assertCollisions, drivers, prefixes } from './validations/common';
import { withStyle } from './validations/outputs';
import { error, grey, MigrateProgress } from './views';

const optionDialect = string('dialect')
	.enum(...dialects)
	.desc(
		`Database dialect: 'gel', 'postgresql', 'mysql', 'sqlite', 'turso' or 'singlestore'`,
	);
const optionOut = string().desc("Output folder, 'drizzle' by default");
const optionConfig = string().desc('Path to drizzle config file');
const optionBreakpoints = boolean().desc(
	`Prepare SQL statements with breakpoints`,
);

const optionDriver = string()
	.enum(...drivers)
	.desc('Database driver');

const optionCasing = string().enum('camelCase', 'snake_case').desc('Casing for serialization');

export const generate = command({
	name: 'generate',
	options: {
		config: optionConfig,
		dialect: optionDialect,
		driver: optionDriver,
		casing: optionCasing,
		schema: string().desc('Path to a schema file or folder'),
		out: optionOut,
		name: string().desc('Migration file name'),
		breakpoints: optionBreakpoints,
// ... (797 more lines)

Domain

Subdomains

Frequently Asked Questions

What does schema.ts do?
schema.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain, Introspection subdomain.
What functions are defined in schema.ts?
schema.ts defines 17 function(s): check.handler, check.transform, drop.handler, drop.transform, exportRaw.handler, exportRaw.transform, generate.handler, generate.transform, migrate.handler, migrate.transform, and 7 more.
What does schema.ts depend on?
schema.ts imports 47 module(s): MigrateProgress, assertCollisions, assertOrmCoreVersion, assertPackages, assertStudioNodeVersion, assertUnreachable, assertV1OutFolder, brocli, and 39 more.
What files import schema.ts?
schema.ts is imported by 5 file(s): cli-export.test.ts, cli-generate.test.ts, cli-migrate.test.ts, cli-push.test.ts, index.ts.
Where is schema.ts in the architecture?
schema.ts is located at drizzle-kit/src/cli/schema.ts (domain: DrizzleKit, subdomain: Introspection, directory: drizzle-kit/src/cli).

Analyze Your Own Codebase

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

Try Supermodel Free