pgSerializer.ts — drizzle-orm Source File
Architecture documentation for pgSerializer.ts, a typescript file in the drizzle-orm codebase. 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
Dependencies
- chalk
- common
- drizzle-orm
- escapeSingleQuotes
- getColumnCasing
- isPgArrayType
- outputs.ts
- pg-core
- pgSchema.ts
- sqlToStr
- utils.ts
- utils.ts
- vector
- views.ts
Imported By
Source
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