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

jsonStatements.ts — drizzle-orm Source File

Architecture documentation for jsonStatements.ts, a typescript file in the drizzle-orm codebase. 33 imports, 7 dependents.

File typescript DrizzleKit SnapshotSerializer 33 imports 7 dependents 70 functions

Entity Profile

Dependency Diagram

graph LR
  6139f734_8ada_c641_9fec_9a55cfdf376f["jsonStatements.ts"]
  934183d7_9412_6b03_702c_de0c2903ced3["sqlitePushUtils.ts"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> 934183d7_9412_6b03_702c_de0c2903ced3
  bf324bc7_f5cf_5525_01b1_a5b9a1a0cd80["getNewTableName"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> bf324bc7_f5cf_5525_01b1_a5b9a1a0cd80
  217e2cbd_4fb7_ceab_251c_5733ece08a8f["views.ts"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> 217e2cbd_4fb7_ceab_251c_5733ece08a8f
  5fbcc7ce_945a_7e2d_e12d_559fa5000971["warning"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> 5fbcc7ce_945a_7e2d_e12d_559fa5000971
  5e835bc2_6860_21e3_492c_babcc3e93529["schemaValidator.ts"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> 5e835bc2_6860_21e3_492c_babcc3e93529
  35be8a08_a61d_ae81_4c9c_b8cbb7b58da6["CommonSquashedSchema"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> 35be8a08_a61d_ae81_4c9c_b8cbb7b58da6
  f2ee16c1_40e6_43f3_15b2_c391a3ac170b["mysqlSchema.ts"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> f2ee16c1_40e6_43f3_15b2_c391a3ac170b
  0d278f98_433a_d89b_46fa_70b59e780ebe["MySqlKitInternals"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> 0d278f98_433a_d89b_46fa_70b59e780ebe
  b8ffbc78_4812_3db2_2657_70d0793f7d8e["MySqlSchema"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> b8ffbc78_4812_3db2_2657_70d0793f7d8e
  9da65170_f26c_c3ff_287e_7f34716312c1["View"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> 9da65170_f26c_c3ff_287e_7f34716312c1
  cbf63853_6723_30fc_5ded_88a8944f77c4["pgSchema.ts"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> cbf63853_6723_30fc_5ded_88a8944f77c4
  8c180a70_cc77_6a9e_41a5_a78bc784f6d7["Index"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> 8c180a70_cc77_6a9e_41a5_a78bc784f6d7
  da22d499_9074_c7b3_d593_7241c8af31ed["MatViewWithOption"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> da22d499_9074_c7b3_d593_7241c8af31ed
  b5617e13_ea8f_6fe9_4a65_de1491ad2dee["PgSchema"]
  6139f734_8ada_c641_9fec_9a55cfdf376f --> b5617e13_ea8f_6fe9_4a65_de1491ad2dee
  style 6139f734_8ada_c641_9fec_9a55cfdf376f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import chalk from 'chalk';
import { getNewTableName } from './cli/commands/sqlitePushUtils';
import { warning } from './cli/views';
import { CommonSquashedSchema } from './schemaValidator';
import { MySqlKitInternals, MySqlSchema, MySqlSquasher, View as MySqlView } from './serializer/mysqlSchema';
import {
	Index,
	MatViewWithOption,
	PgSchema,
	PgSchemaSquashed,
	PgSquasher,
	Policy,
	Role,
	View as PgView,
	ViewWithOption,
} from './serializer/pgSchema';
import { SingleStoreKitInternals, SingleStoreSchema, SingleStoreSquasher } from './serializer/singlestoreSchema';
import {
	SQLiteKitInternals,
	SQLiteSchemaInternal,
	SQLiteSchemaSquashed,
	SQLiteSquasher,
	View as SqliteView,
} from './serializer/sqliteSchema';
import { AlteredColumn, Column, Sequence, Table } from './snapshotsDiffer';

export interface JsonSqliteCreateTableStatement {
	type: 'sqlite_create_table';
	tableName: string;
	columns: Column[];
	referenceData: {
		name: string;
		tableFrom: string;
		columnsFrom: string[];
		tableTo: string;
		columnsTo: string[];
		onUpdate?: string | undefined;
		onDelete?: string | undefined;
	}[];
	compositePKs: string[][];
	uniqueConstraints?: string[];
	checkConstraints?: string[];
}

export interface JsonCreateTableStatement {
	type: 'create_table';
	tableName: string;
	schema: string;
	columns: Column[];
	compositePKs: string[];
	compositePkName?: string;
	uniqueConstraints?: string[];
	policies?: string[];
	checkConstraints?: string[];
	internals?: MySqlKitInternals | SingleStoreKitInternals;
	isRLSEnabled?: boolean;
}

export interface JsonRecreateTableStatement {
	type: 'recreate_table';
// ... (3495 more lines)

Domain

Subdomains

Functions

Types

Frequently Asked Questions

What does jsonStatements.ts do?
jsonStatements.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain, SnapshotSerializer subdomain.
What functions are defined in jsonStatements.ts?
jsonStatements.ts defines 70 function(s): _prepareAddColumns, _prepareDropColumns, _prepareSqliteAddColumns, prepareAddCheckConstraint, prepareAddCompositePrimaryKeyMySql, prepareAddCompositePrimaryKeyPg, prepareAddCompositePrimaryKeySqlite, prepareAddUniqueConstraintPg, prepareAddValuesToEnumJson, prepareAlterColumnsMysql, and 60 more.
What does jsonStatements.ts depend on?
jsonStatements.ts imports 33 module(s): AlteredColumn, Column, CommonSquashedSchema, Index, MatViewWithOption, MySqlKitInternals, MySqlSchema, PgSchema, and 25 more.
What files import jsonStatements.ts?
jsonStatements.ts is imported by 7 file(s): mysqlPushUtils.ts, pgPushUtils.ts, singlestorePushUtils.ts, snapshotsDiffer.ts, sqlgenerator.ts, sqlitePushUtils.ts, statementCombiner.ts.
Where is jsonStatements.ts in the architecture?
jsonStatements.ts is located at drizzle-kit/src/jsonStatements.ts (domain: DrizzleKit, subdomain: SnapshotSerializer, directory: drizzle-kit/src).

Analyze Your Own Codebase

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

Try Supermodel Free