gelSerializer.ts — drizzle-orm Source File
Architecture documentation for gelSerializer.ts, a typescript file in the drizzle-orm codebase. 14 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR 33990744_4141_72e3_2ae9_3c695bf71d75["gelSerializer.ts"] 502fb53b_89d2_ec40_3a24_f05850833f68["outputs.ts"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 502fb53b_89d2_ec40_3a24_f05850833f68 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a["utils.ts"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a 6a0cfd17_5e20_42bb_3596_ae02093b0fda["escapeSingleQuotes"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 6a0cfd17_5e20_42bb_3596_ae02093b0fda 964b24c5_3481_bed3_69f7_b6e4cefe58bb["gelSchema.ts"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 964b24c5_3481_bed3_69f7_b6e4cefe58bb d8097f04_a188_ed1a_3c1c_3446a8d2c62c["GelSchemaInternal"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> d8097f04_a188_ed1a_3c1c_3446a8d2c62c 12d176aa_882f_ddcb_4bc8_df3fbb9542b1["utils.ts"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1 0f6bcec9_496e_3388_a2d6_2f3af1e12d53["getColumnCasing"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 0f6bcec9_496e_3388_a2d6_2f3af1e12d53 5de2ec9b_64d7_f004_04c1_e08f9695c862["sqlToStr"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 5de2ec9b_64d7_f004_04c1_e08f9695c862 0f00c7dd_5eba_f1f8_c559_a99431086500["chalk"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 0f00c7dd_5eba_f1f8_c559_a99431086500 690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031 a141d2d3_896c_404c_4eeb_43205225eb94["gel-core"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> a141d2d3_896c_404c_4eeb_43205225eb94 69eb5c6a_1f39_88ff_23e8_06dadec35df5["common"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 69eb5c6a_1f39_88ff_23e8_06dadec35df5 8b93d3ac_6c44_f9eb_dc05_5b711681ec2c["views"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 8b93d3ac_6c44_f9eb_dc05_5b711681ec2c 7513a123_1698_6fd0_965e_fd62857948cd["vector"] 33990744_4141_72e3_2ae9_3c695bf71d75 --> 7513a123_1698_6fd0_965e_fd62857948cd style 33990744_4141_72e3_2ae9_3c695bf71d75 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import chalk from 'chalk';
import { getTableName, is, SQL } from 'drizzle-orm';
import {
AnyGelTable,
GelColumn,
GelDialect,
GelMaterializedView,
GelPolicy,
GelRole,
GelSchema,
GelSequence,
GelView,
getMaterializedViewConfig,
getTableConfig,
getViewConfig,
IndexedColumn,
} from 'drizzle-orm/gel-core';
import { CasingType } from 'src/cli/validations/common';
import { IntrospectStage, IntrospectStatus } from 'src/cli/views';
import { vectorOps } from 'src/extensions/vector';
import { withStyle } from '../cli/validations/outputs';
import { type DB, escapeSingleQuotes } from '../utils';
import { GelSchemaInternal } from './gelSchema';
import type {
Column,
ForeignKey,
GelKitInternals,
Index,
IndexColumnType,
Policy,
PrimaryKey,
Role,
Sequence,
Table,
UniqueConstraint,
View,
} from './gelSchema';
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';
}
function stringFromDatabaseIdentityProperty(field: any): string | undefined {
return typeof field === 'string'
? (field as string)
: typeof field === 'undefined'
? undefined
// ... (1602 more lines)
Domain
Subdomains
Functions
Dependencies
- GelSchemaInternal
- chalk
- common
- drizzle-orm
- escapeSingleQuotes
- gel-core
- gelSchema.ts
- getColumnCasing
- outputs.ts
- sqlToStr
- utils.ts
- utils.ts
- vector
- views
Source
Frequently Asked Questions
What does gelSerializer.ts do?
gelSerializer.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 gelSerializer.ts?
gelSerializer.ts defines 12 function(s): buildArrayString, defaultForColumn, fromDatabase, generateGelSnapshot, getColumnsInfoQuery, indexName, maxRangeForIdentityBasedOn, minRangeForIdentityBasedOn, prepareRoles, stringFromDatabaseIdentityProperty, and 2 more.
What does gelSerializer.ts depend on?
gelSerializer.ts imports 14 module(s): GelSchemaInternal, chalk, common, drizzle-orm, escapeSingleQuotes, gel-core, gelSchema.ts, getColumnCasing, and 6 more.
What files import gelSerializer.ts?
gelSerializer.ts is imported by 2 file(s): introspect-gel.ts, introspect.ts.
Where is gelSerializer.ts in the architecture?
gelSerializer.ts is located at drizzle-kit/src/serializer/gelSerializer.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