utils.ts — drizzle-orm Source File
Architecture documentation for utils.ts, a typescript file in the drizzle-orm codebase. 17 imports, 29 dependents.
Entity Profile
Dependency Diagram
graph LR 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a["utils.ts"] b14d3855_8cce_38c9_8952_a9d014c2fb1b["migrate.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> b14d3855_8cce_38c9_8952_a9d014c2fb1b 217e2cbd_4fb7_ceab_251c_5733ece08a8f["views.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> 217e2cbd_4fb7_ceab_251c_5733ece08a8f 4faee74a_425e_9f08_40df_f43ccc717e6e["info"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> 4faee74a_425e_9f08_40df_f43ccc717e6e 8f03c4cf_4fdf_b056_3b24_d493cab0cc81["global.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> 8f03c4cf_4fdf_b056_3b24_d493cab0cc81 071bfc71_ad06_c0c4_cba2_360298dd4b47["assertUnreachable"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> 071bfc71_ad06_c0c4_cba2_360298dd4b47 5e835bc2_6860_21e3_492c_babcc3e93529["schemaValidator.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> 5e835bc2_6860_21e3_492c_babcc3e93529 964b24c5_3481_bed3_69f7_b6e4cefe58bb["gelSchema.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> 964b24c5_3481_bed3_69f7_b6e4cefe58bb f2ee16c1_40e6_43f3_15b2_c391a3ac170b["mysqlSchema.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> f2ee16c1_40e6_43f3_15b2_c391a3ac170b cbf63853_6723_30fc_5ded_88a8944f77c4["pgSchema.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> cbf63853_6723_30fc_5ded_88a8944f77c4 d63c81a6_6779_4926_bffe_7351e12a4301["singlestoreSchema.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> d63c81a6_6779_4926_bffe_7351e12a4301 03c276d3_0efe_66e2_9ba9_e67edbf29418["sqliteSchema.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> 03c276d3_0efe_66e2_9ba9_e67edbf29418 82de12f8_a8ca_9d38_8da8_9ac945d81e01["studio.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> 82de12f8_a8ca_9d38_8da8_9ac945d81e01 ccd8f141_31dd_df9e_0535_43efaea4d6db["better-sqlite3"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> ccd8f141_31dd_df9e_0535_43efaea4d6db 0f00c7dd_5eba_f1f8_c559_a99431086500["chalk"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a --> 0f00c7dd_5eba_f1f8_c559_a99431086500 style 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { RunResult } from 'better-sqlite3';
import chalk from 'chalk';
import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'fs';
import { join } from 'path';
import { parse } from 'url';
import type { NamedWithSchema } from './cli/commands/migrate';
import { info } from './cli/views';
import { assertUnreachable, snapshotVersion } from './global';
import type { Dialect } from './schemaValidator';
import { backwardCompatibleGelSchema } from './serializer/gelSchema';
import { backwardCompatibleMysqlSchema } from './serializer/mysqlSchema';
import { backwardCompatiblePgSchema } from './serializer/pgSchema';
import { backwardCompatibleSingleStoreSchema } from './serializer/singlestoreSchema';
import { backwardCompatibleSqliteSchema } from './serializer/sqliteSchema';
import type { ProxyParams } from './serializer/studio';
export type Proxy = (params: ProxyParams) => Promise<any[]>;
export type TransactionProxy = (queries: { sql: string; method?: ProxyParams['method'] }[]) => Promise<any[]>;
export type DB = {
query: <T extends any = any>(sql: string, params?: any[]) => Promise<T[]>;
};
export type SQLiteDB = {
query: <T extends any = any>(sql: string, params?: any[]) => Promise<T[]>;
run(query: string): Promise<void>;
};
export type LibSQLDB = {
query: <T extends any = any>(sql: string, params?: any[]) => Promise<T[]>;
run(query: string): Promise<void>;
batchWithPragma?(queries: string[]): Promise<void>;
};
export const copy = <T>(it: T): T => {
return JSON.parse(JSON.stringify(it));
};
export const objectValues = <T extends object>(obj: T): Array<T[keyof T]> => {
return Object.values(obj);
};
export const assertV1OutFolder = (out: string) => {
if (!existsSync(out)) return;
const oldMigrationFolders = readdirSync(out).filter(
(it) => it.length === 14 && /^\d+$/.test(it),
);
if (oldMigrationFolders.length > 0) {
console.log(
`Your migrations folder format is outdated, please run ${
chalk.green.bold(
`drizzle-kit up`,
)
}`,
);
process.exit(1);
}
// ... (312 more lines)
Domain
Subdomains
Functions
- assertV1OutFolder()
- columnRenameKey()
- copy()
- dryJournal()
- escapeSingleQuotes()
- findAddedAndRemoved()
- isPgArrayType()
- kloudMeta()
- normalisePGliteUrl()
- normaliseSQLiteUrl()
- objectValues()
- params()
- prepareMigrationFolder()
- prepareMigrationMeta()
- prepareOutFolder()
- queries()
- schemaRenameKey()
- sql()
- tableRenameKey()
- unescapeSingleQuotes()
- validateWithReport()
- validatorForDialect()
Dependencies
Imported By
- drizzle-kit/src/api.ts
- drizzle-kit/src/cli/commands/check.ts
- drizzle-kit/src/cli/connections.ts
- drizzle-kit/src/cli/commands/drop.ts
- drizzle-kit/src/serializer/gelSerializer.ts
- drizzle-kit/src/introspect-gel.ts
- drizzle-kit/src/introspect-mysql.ts
- drizzle-kit/src/introspect-pg.ts
- drizzle-kit/src/cli/commands/introspect.ts
- drizzle-kit/src/cli/commands/migrate.ts
- drizzle-kit/src/cli/commands/mysqlIntrospect.ts
- drizzle-kit/src/cli/commands/mysqlPushUtils.ts
- drizzle-kit/src/serializer/mysqlSerializer.ts
- drizzle-kit/src/cli/commands/mysqlUp.ts
- drizzle-kit/src/cli/commands/pgIntrospect.ts
- drizzle-kit/src/cli/commands/pgPushUtils.ts
- drizzle-kit/src/serializer/pgSerializer.ts
- drizzle-kit/src/cli/commands/pgUp.ts
- drizzle-kit/src/cli/schema.ts
- drizzle-kit/src/cli/commands/singlestoreIntrospect.ts
- drizzle-kit/src/cli/commands/singlestorePushUtils.ts
- drizzle-kit/src/serializer/singlestoreSerializer.ts
- drizzle-kit/src/snapshotsDiffer.ts
- drizzle-kit/src/sqlgenerator.ts
- drizzle-kit/src/cli/commands/sqliteIntrospect.ts
- drizzle-kit/src/cli/commands/sqlitePushUtils.ts
- drizzle-kit/src/serializer/sqliteSerializer.ts
- drizzle-kit/src/serializer/studio.ts
- drizzle-kit/src/cli/views.ts
Source
Frequently Asked Questions
What does utils.ts do?
utils.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain, CLIWorkflow subdomain.
What functions are defined in utils.ts?
utils.ts defines 22 function(s): assertV1OutFolder, columnRenameKey, copy, dryJournal, escapeSingleQuotes, findAddedAndRemoved, isPgArrayType, kloudMeta, normalisePGliteUrl, normaliseSQLiteUrl, and 12 more.
What does utils.ts depend on?
utils.ts imports 17 module(s): assertUnreachable, better-sqlite3, chalk, fs, gelSchema.ts, global.ts, info, migrate.ts, and 9 more.
What files import utils.ts?
utils.ts is imported by 29 file(s): api.ts, check.ts, connections.ts, drop.ts, gelSerializer.ts, introspect-gel.ts, introspect-mysql.ts, introspect-pg.ts, and 21 more.
Where is utils.ts in the architecture?
utils.ts is located at drizzle-kit/src/utils.ts (domain: DrizzleKit, subdomain: CLIWorkflow, directory: drizzle-kit/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free