schema.ts — drizzle-orm Source File
Architecture documentation for schema.ts, a typescript file in the drizzle-orm codebase. 47 imports, 5 dependents.
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
Functions
Dependencies
- MigrateProgress
- assertCollisions
- assertOrmCoreVersion
- assertPackages
- assertStudioNodeVersion
- assertUnreachable
- assertV1OutFolder
- brocli
- certs
- certs.ts
- chalk
- check.ts
- checkHandler
- common.ts
- config
- drop.ts
- dropMigration
- error
- fs
- global.ts
- grey
- hanji
- mysqlUp.ts
- ormVersionGt
- outputs.ts
- pgUp.ts
- prepareCheckParams
- prepareDropParams
- prepareExportConfig
- prepareGenerateConfig
- prepareMigrateConfig
- preparePullConfig
- preparePushConfig
- prepareStudioConfig
- schemaValidator
- singlestoreUp.ts
- sqliteUp.ts
- studio.ts
- upMysqlHandler
- upPgHandler
- upSinglestoreHandler
- upSqliteHandler
- utils.ts
- utils.ts
- utils.ts
- utils.ts
- views.ts
Imported By
Source
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