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

singlestoreSerializer.ts — drizzle-orm Source File

Architecture documentation for singlestoreSerializer.ts, a typescript file in the drizzle-orm codebase. 20 imports, 4 dependents.

File typescript DrizzleKit SnapshotSerializer 20 imports 4 dependents 4 functions

Entity Profile

Dependency Diagram

graph LR
  67437259_0670_dcef_f238_9264f0f16394["singlestoreSerializer.ts"]
  502fb53b_89d2_ec40_3a24_f05850833f68["outputs.ts"]
  67437259_0670_dcef_f238_9264f0f16394 --> 502fb53b_89d2_ec40_3a24_f05850833f68
  217e2cbd_4fb7_ceab_251c_5733ece08a8f["views.ts"]
  67437259_0670_dcef_f238_9264f0f16394 --> 217e2cbd_4fb7_ceab_251c_5733ece08a8f
  09093721_c406_7222_9827_ed44d69a25bd["IntrospectStage"]
  67437259_0670_dcef_f238_9264f0f16394 --> 09093721_c406_7222_9827_ed44d69a25bd
  520362d9_670d_b6d8_02b1_d2de488c5e21["IntrospectStatus"]
  67437259_0670_dcef_f238_9264f0f16394 --> 520362d9_670d_b6d8_02b1_d2de488c5e21
  5847e5ae_7b4a_4b02_b68f_883ef88b3c1a["utils.ts"]
  67437259_0670_dcef_f238_9264f0f16394 --> 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a
  d63c81a6_6779_4926_bffe_7351e12a4301["singlestoreSchema.ts"]
  67437259_0670_dcef_f238_9264f0f16394 --> d63c81a6_6779_4926_bffe_7351e12a4301
  8dcd1f45_dc3b_e271_1b2d_5f24f4c459ed["Column"]
  67437259_0670_dcef_f238_9264f0f16394 --> 8dcd1f45_dc3b_e271_1b2d_5f24f4c459ed
  49edf791_0f28_ef80_4725_d7796492eb0d["Index"]
  67437259_0670_dcef_f238_9264f0f16394 --> 49edf791_0f28_ef80_4725_d7796492eb0d
  ad181f4b_e7ef_8d58_2095_6a0797f72dc0["PrimaryKey"]
  67437259_0670_dcef_f238_9264f0f16394 --> ad181f4b_e7ef_8d58_2095_6a0797f72dc0
  b97d8549_2730_a97e_b05a_56fc5237b62c["SingleStoreKitInternals"]
  67437259_0670_dcef_f238_9264f0f16394 --> b97d8549_2730_a97e_b05a_56fc5237b62c
  4544b292_3be6_3d5c_dcf4_cfb560ea3b61["SingleStoreSchemaInternal"]
  67437259_0670_dcef_f238_9264f0f16394 --> 4544b292_3be6_3d5c_dcf4_cfb560ea3b61
  f59504d4_374d_a22e_2b76_a9d97095693c["Table"]
  67437259_0670_dcef_f238_9264f0f16394 --> f59504d4_374d_a22e_2b76_a9d97095693c
  c7f1917b_fbbd_15cc_a1b4_815edcebaca9["UniqueConstraint"]
  67437259_0670_dcef_f238_9264f0f16394 --> c7f1917b_fbbd_15cc_a1b4_815edcebaca9
  12d176aa_882f_ddcb_4bc8_df3fbb9542b1["utils.ts"]
  67437259_0670_dcef_f238_9264f0f16394 --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1
  style 67437259_0670_dcef_f238_9264f0f16394 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import chalk from 'chalk';
import { is, SQL } from 'drizzle-orm';
import {
	AnySingleStoreTable,
	getTableConfig,
	type PrimaryKey as PrimaryKeyORM,
	SingleStoreDialect,
	uniqueKeyName,
} from 'drizzle-orm/singlestore-core';
import { RowDataPacket } from 'mysql2/promise';
import { withStyle } from '../cli/validations/outputs';
import { IntrospectStage, IntrospectStatus } from '../cli/views';

import { CasingType } from 'src/cli/validations/common';
import type { DB } from '../utils';
import {
	Column,
	Index,
	PrimaryKey,
	SingleStoreKitInternals,
	SingleStoreSchemaInternal,
	Table,
	UniqueConstraint,
} from './singlestoreSchema';
import { sqlToStr } from './utils';

const dialect = new SingleStoreDialect();

export const indexName = (tableName: string, columns: string[]) => {
	return `${tableName}_${columns.join('_')}_index`;
};

export const generateSingleStoreSnapshot = (
	tables: AnySingleStoreTable[],
	/* views: SingleStoreView[], */
	casing: CasingType | undefined,
): SingleStoreSchemaInternal => {
	const dialect = new SingleStoreDialect({ casing });
	const result: Record<string, Table> = {};
	/* const resultViews: Record<string, View> = {}; */
	const internal: SingleStoreKitInternals = { tables: {}, indexes: {} };
	for (const table of tables) {
		const {
			name: tableName,
			columns,
			indexes,
			schema,
			primaryKeys,
			uniqueConstraints,
		} = getTableConfig(table);
		const columnsObject: Record<string, Column> = {};
		const indexesObject: Record<string, Index> = {};
		const primaryKeysObject: Record<string, PrimaryKey> = {};
		const uniqueConstraintObject: Record<string, UniqueConstraint> = {};

		columns.forEach((column) => {
			const notNull: boolean = column.notNull;
			const sqlTypeLowered = column.getSQLType().toLowerCase();
			const autoIncrement = typeof (column as any).autoIncrement === 'undefined'
				? false
// ... (708 more lines)

Domain

Subdomains

Frequently Asked Questions

What does singlestoreSerializer.ts do?
singlestoreSerializer.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 singlestoreSerializer.ts?
singlestoreSerializer.ts defines 4 function(s): clearDefaults, fromDatabase, generateSingleStoreSnapshot, indexName.
What does singlestoreSerializer.ts depend on?
singlestoreSerializer.ts imports 20 module(s): Column, Index, IntrospectStage, IntrospectStatus, PrimaryKey, SingleStoreKitInternals, SingleStoreSchemaInternal, Table, and 12 more.
What files import singlestoreSerializer.ts?
singlestoreSerializer.ts is imported by 4 file(s): api.ts, introspect-singlestore.ts, introspect.ts, singlestoreIntrospect.ts.
Where is singlestoreSerializer.ts in the architecture?
singlestoreSerializer.ts is located at drizzle-kit/src/serializer/singlestoreSerializer.ts (domain: DrizzleKit, subdomain: SnapshotSerializer, directory: drizzle-kit/src/serializer).

Analyze Your Own Codebase

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

Try Supermodel Free