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

pgSerializer.ts — drizzle-orm Source File

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

File typescript DrizzleKit 14 imports 4 dependents

Entity Profile

Dependency Diagram

graph LR
  df5ff696_3bb2_dd84_a601_810793c9ec74["pgSerializer.ts"]
  502fb53b_89d2_ec40_3a24_f05850833f68["outputs.ts"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 502fb53b_89d2_ec40_3a24_f05850833f68
  217e2cbd_4fb7_ceab_251c_5733ece08a8f["views.ts"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 217e2cbd_4fb7_ceab_251c_5733ece08a8f
  cbf63853_6723_30fc_5ded_88a8944f77c4["pgSchema.ts"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> cbf63853_6723_30fc_5ded_88a8944f77c4
  5847e5ae_7b4a_4b02_b68f_883ef88b3c1a["utils.ts"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a
  6a0cfd17_5e20_42bb_3596_ae02093b0fda["escapeSingleQuotes"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 6a0cfd17_5e20_42bb_3596_ae02093b0fda
  412a5fa1_321d_390e_bd58_63eb6fb4ccaf["isPgArrayType"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 412a5fa1_321d_390e_bd58_63eb6fb4ccaf
  12d176aa_882f_ddcb_4bc8_df3fbb9542b1["utils.ts"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1
  0f6bcec9_496e_3388_a2d6_2f3af1e12d53["getColumnCasing"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 0f6bcec9_496e_3388_a2d6_2f3af1e12d53
  5de2ec9b_64d7_f004_04c1_e08f9695c862["sqlToStr"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 5de2ec9b_64d7_f004_04c1_e08f9695c862
  0f00c7dd_5eba_f1f8_c559_a99431086500["chalk"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 0f00c7dd_5eba_f1f8_c559_a99431086500
  690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031
  53497908_16e7_977d_e97d_7414884a88a6["pg-core"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 53497908_16e7_977d_e97d_7414884a88a6
  69eb5c6a_1f39_88ff_23e8_06dadec35df5["common"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 69eb5c6a_1f39_88ff_23e8_06dadec35df5
  7513a123_1698_6fd0_965e_fd62857948cd["vector"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 7513a123_1698_6fd0_965e_fd62857948cd
  style df5ff696_3bb2_dd84_a601_810793c9ec74 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import chalk from 'chalk';
import { getTableName, is, SQL } from 'drizzle-orm';
import {
	AnyPgTable,
	getMaterializedViewConfig,
	getTableConfig,
	getViewConfig,
	IndexedColumn,
	PgArray,
	PgColumn,
	PgDialect,
	PgEnum,
	PgEnumColumn,
	PgMaterializedView,
	PgPolicy,
	PgRole,
	PgSchema,
	PgSequence,
	PgView,
	uniqueKeyName,
} from 'drizzle-orm/pg-core';
import { CasingType } from 'src/cli/validations/common';
import { vectorOps } from 'src/extensions/vector';
import { withStyle } from '../cli/validations/outputs';
import type { IntrospectStage, IntrospectStatus } from '../cli/views';
import type {
	CheckConstraint,
	Column,
	Enum,
	ForeignKey,
	Index,
	IndexColumnType,
	PgKitInternals,
	PgSchemaInternal,
	Policy,
	PrimaryKey,
	Role,
	Sequence,
	Table,
	UniqueConstraint,
	View,
} from '../serializer/pgSchema';
import { type DB, escapeSingleQuotes, isPgArrayType } from '../utils';
import { getColumnCasing, sqlToStr } from './utils';

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

function stringFromIdentityProperty(field: string | number | undefined): string | undefined {
	return typeof field === 'string' ? (field as string) : typeof field === 'undefined' ? undefined : String(field);
}

function maxRangeForIdentityBasedOn(columnType: string) {
	return columnType === 'integer' ? '2147483647' : columnType === 'bigint' ? '9223372036854775807' : '32767';
}

function minRangeForIdentityBasedOn(columnType: string) {
	return columnType === 'integer' ? '-2147483648' : columnType === 'bigint' ? '-9223372036854775808' : '-32768';
}
// ... (2038 more lines)

Domain

Frequently Asked Questions

What does pgSerializer.ts do?
pgSerializer.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain.
What does pgSerializer.ts depend on?
pgSerializer.ts imports 14 module(s): chalk, common, drizzle-orm, escapeSingleQuotes, getColumnCasing, isPgArrayType, outputs.ts, pg-core, and 6 more.
What files import pgSerializer.ts?
pgSerializer.ts is imported by 4 file(s): api.ts, introspect-pg.ts, introspect.ts, pgIntrospect.ts.
Where is pgSerializer.ts in the architecture?
pgSerializer.ts is located at drizzle-kit/src/serializer/pgSerializer.ts (domain: DrizzleKit, 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