db.ts — drizzle-orm Source File
Architecture documentation for db.ts, a typescript file in the drizzle-orm codebase. 27 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 99d4b8a7_e046_2f16_afff_9a25e87a12c1["db.ts"] b5f68e91_0c18_4699_4724_dcbb5d28898e["index.ts"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> b5f68e91_0c18_4699_4724_dcbb5d28898e fa6a01b7_6d1f_e5fb_2daa_b614b6687cb0["count.ts"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> fa6a01b7_6d1f_e5fb_2daa_b614b6687cb0 ac948e16_8fee_2312_8b12_6929b5a7ee06["PgCountBuilder"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> ac948e16_8fee_2312_8b12_6929b5a7ee06 cb792d01_598c_043a_5de1_379e203f46ee["query.ts"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> cb792d01_598c_043a_5de1_379e203f46ee 84e61caa_cc0d_a92d_e0c4_b41195135bb9["RelationalQueryBuilder"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> 84e61caa_cc0d_a92d_e0c4_b41195135bb9 880c509a_a5b7_154e_3e50_e0d899de78b5["raw.ts"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> 880c509a_a5b7_154e_3e50_e0d899de78b5 3b6afbb8_a1c2_74f3_5dc8_51664d26724a["PgRaw"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> 3b6afbb8_a1c2_74f3_5dc8_51664d26724a f939d714_f307_8518_c626_5245d56a91f7["PgRaw"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> f939d714_f307_8518_c626_5245d56a91f7 41476081_497d_90a4_b230_43e26c58011b["refresh-materialized-view.ts"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> 41476081_497d_90a4_b230_43e26c58011b 4290a7a8_4f2b_6cec_2b27_e81313bf4d01["PgRefreshMaterializedView"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 5258b94f_b598_2dd9_a262_ef2c72c2940d["PgRefreshMaterializedView"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> 5258b94f_b598_2dd9_a262_ef2c72c2940d 65d45edf_0d8a_b7f0_1780_573c12d9a0e6["select.types.ts"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> 65d45edf_0d8a_b7f0_1780_573c12d9a0e6 2f61feb4_8de9_0737_895f_3ed46c146b33["subquery.ts"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> 2f61feb4_8de9_0737_895f_3ed46c146b33 9d23be1a_5095_403a_6191_75a2d7365cdd["view-base.ts"] 99d4b8a7_e046_2f16_afff_9a25e87a12c1 --> 9d23be1a_5095_403a_6191_75a2d7365cdd style 99d4b8a7_e046_2f16_afff_9a25e87a12c1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { Cache } from '~/cache/core/cache.ts';
import { entityKind } from '~/entity.ts';
import type { PgDialect } from '~/pg-core/dialect.ts';
import {
PgDeleteBase,
PgInsertBuilder,
PgSelectBuilder,
PgUpdateBuilder,
QueryBuilder,
} from '~/pg-core/query-builders/index.ts';
import type {
PgQueryResultHKT,
PgQueryResultKind,
PgSession,
PgTransaction,
PgTransactionConfig,
PreparedQueryConfig,
} from '~/pg-core/session.ts';
import type { PgTable } from '~/pg-core/table.ts';
import type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';
import type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';
import { SelectionProxyHandler } from '~/selection-proxy.ts';
import { type ColumnsSelection, type SQL, sql, type SQLWrapper } from '~/sql/sql.ts';
import { WithSubquery } from '~/subquery.ts';
import type { DrizzleTypeError, NeonAuthToken } from '~/utils.ts';
import type { PgColumn } from './columns/index.ts';
import { PgCountBuilder } from './query-builders/count.ts';
import { RelationalQueryBuilder } from './query-builders/query.ts';
import { PgRaw } from './query-builders/raw.ts';
import { PgRefreshMaterializedView } from './query-builders/refresh-materialized-view.ts';
import type { SelectedFields } from './query-builders/select.types.ts';
import type { WithBuilder } from './subquery.ts';
import type { PgViewBase } from './view-base.ts';
import type { PgMaterializedView } from './view.ts';
export class PgDatabase<
TQueryResult extends PgQueryResultHKT,
TFullSchema extends Record<string, unknown> = Record<string, never>,
TSchema extends TablesRelationalConfig = ExtractTablesWithRelations<TFullSchema>,
> {
static readonly [entityKind]: string = 'PgDatabase';
declare readonly _: {
readonly schema: TSchema | undefined;
readonly fullSchema: TFullSchema;
readonly tableNamesMap: Record<string, string>;
readonly session: PgSession<TQueryResult, TFullSchema, TSchema>;
};
query: TFullSchema extends Record<string, never>
? DrizzleTypeError<'Seems like the schema generic is missing - did you forget to add it to your DB type?'>
: {
[K in keyof TSchema]: RelationalQueryBuilder<TSchema, TSchema[K]>;
};
constructor(
/** @internal */
readonly dialect: PgDialect,
/** @internal */
readonly session: PgSession<any, any, any>,
// ... (636 more lines)
Domain
Subdomains
Functions
Classes
Types
Dependencies
- PgCountBuilder
- PgRaw
- PgRaw
- PgRefreshMaterializedView
- PgRefreshMaterializedView
- RelationalQueryBuilder
- cache.ts
- count.ts
- dialect.ts
- entity.ts
- index.ts
- index.ts
- query-builder.ts
- query.ts
- raw.ts
- refresh-materialized-view.ts
- relations.ts
- select.types.ts
- selection-proxy.ts
- session.ts
- sql.ts
- subquery.ts
- subquery.ts
- table.ts
- utils.ts
- view-base.ts
- view.ts
Imported By
Source
Frequently Asked Questions
What does db.ts do?
db.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, DatabaseDrivers subdomain.
What functions are defined in db.ts?
db.ts defines 1 function(s): withReplicas.
What does db.ts depend on?
db.ts imports 27 module(s): PgCountBuilder, PgRaw, PgRaw, PgRefreshMaterializedView, PgRefreshMaterializedView, RelationalQueryBuilder, cache.ts, count.ts, and 19 more.
What files import db.ts?
db.ts is imported by 1 file(s): session.ts.
Where is db.ts in the architecture?
db.ts is located at drizzle-orm/src/pg-core/db.ts (domain: DrizzleORM, subdomain: DatabaseDrivers, directory: drizzle-orm/src/pg-core).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free