db.ts — drizzle-orm Source File
Architecture documentation for db.ts, a typescript file in the drizzle-orm codebase. 22 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR e9188303_2815_1371_46b3_eb6061e52537["db.ts"] 586c8fc7_bdd1_953c_6b2a_30ada9e0b861["count.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> 586c8fc7_bdd1_953c_6b2a_30ada9e0b861 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9["SQLiteCountBuilder"] e9188303_2815_1371_46b3_eb6061e52537 --> 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9 1b854fed_016a_a5d6_4aec_b8881a9f16d1["query.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> 1b854fed_016a_a5d6_4aec_b8881a9f16d1 65056321_5f30_0069_0b19_be2b8b42e31a["RelationalQueryBuilder"] e9188303_2815_1371_46b3_eb6061e52537 --> 65056321_5f30_0069_0b19_be2b8b42e31a d0ae3b98_d3b6_4424_a6cd_6cf9fcdb8fbb["raw.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> d0ae3b98_d3b6_4424_a6cd_6cf9fcdb8fbb a935110e_e537_e28c_f0aa_3a9eb325614b["SQLiteRaw"] e9188303_2815_1371_46b3_eb6061e52537 --> a935110e_e537_e28c_f0aa_3a9eb325614b e6917acd_ccf9_eadb_9343_39cf104633ce["SQLiteRaw"] e9188303_2815_1371_46b3_eb6061e52537 --> e6917acd_ccf9_eadb_9343_39cf104633ce 18a5fcd5_994e_4f8e_c531_decae9341796["select.types.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> 18a5fcd5_994e_4f8e_c531_decae9341796 69c14b95_3001_2f9c_64fa_d818657b1132["subquery.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> 69c14b95_3001_2f9c_64fa_d818657b1132 b06d3b34_7e4c_4558_fa21_f40ea239b8a4["view-base.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> b06d3b34_7e4c_4558_fa21_f40ea239b8a4 4509cca4_7fd9_2ecd_1b7c_1ef1c0ee30c4["cache.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> 4509cca4_7fd9_2ecd_1b7c_1ef1c0ee30c4 27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426 d31ad410_b8fc_5d88_a194_70aa7419676a["query-builder.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> d31ad410_b8fc_5d88_a194_70aa7419676a e4d6a0ab_9aa2_13a6_a2f1_58d94314c3f2["relations.ts"] e9188303_2815_1371_46b3_eb6061e52537 --> e4d6a0ab_9aa2_13a6_a2f1_58d94314c3f2 style e9188303_2815_1371_46b3_eb6061e52537 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 { 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 type { SQLiteAsyncDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';
import {
QueryBuilder,
SQLiteDeleteBase,
SQLiteInsertBuilder,
SQLiteSelectBuilder,
SQLiteUpdateBuilder,
} from '~/sqlite-core/query-builders/index.ts';
import type {
DBResult,
Result,
SQLiteSession,
SQLiteTransaction,
SQLiteTransactionConfig,
} from '~/sqlite-core/session.ts';
import type { SQLiteTable } from '~/sqlite-core/table.ts';
import { WithSubquery } from '~/subquery.ts';
import type { DrizzleTypeError } from '~/utils.ts';
import { SQLiteCountBuilder } from './query-builders/count.ts';
import { RelationalQueryBuilder } from './query-builders/query.ts';
import { SQLiteRaw } from './query-builders/raw.ts';
import type { SelectedFields } from './query-builders/select.types.ts';
import type { WithBuilder } from './subquery.ts';
import type { SQLiteViewBase } from './view-base.ts';
export class BaseSQLiteDatabase<
TResultKind extends 'sync' | 'async',
TRunResult,
TFullSchema extends Record<string, unknown> = Record<string, never>,
TSchema extends TablesRelationalConfig = ExtractTablesWithRelations<TFullSchema>,
> {
static readonly [entityKind]: string = 'BaseSQLiteDatabase';
declare readonly _: {
readonly schema: TSchema | undefined;
readonly fullSchema: TFullSchema;
readonly tableNamesMap: Record<string, string>;
};
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<TResultKind, TFullSchema, TSchema, TSchema[K]>;
};
constructor(
private resultKind: TResultKind,
/** @internal */
readonly dialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultKind],
/** @internal */
readonly session: SQLiteSession<TResultKind, TRunResult, TFullSchema, TSchema>,
schema: RelationalSchemaConfig<TSchema> | undefined,
) {
this._ = schema
// ... (590 more lines)
Domain
Subdomains
Functions
Classes
Types
Dependencies
- RelationalQueryBuilder
- SQLiteCountBuilder
- SQLiteRaw
- SQLiteRaw
- cache.ts
- count.ts
- dialect.ts
- entity.ts
- index.ts
- query-builder.ts
- query.ts
- raw.ts
- relations.ts
- select.types.ts
- selection-proxy.ts
- session.ts
- sql.ts
- subquery.ts
- subquery.ts
- table.ts
- utils.ts
- view-base.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, SQLDialects subdomain.
What functions are defined in db.ts?
db.ts defines 1 function(s): withReplicas.
What does db.ts depend on?
db.ts imports 22 module(s): RelationalQueryBuilder, SQLiteCountBuilder, SQLiteRaw, SQLiteRaw, cache.ts, count.ts, dialect.ts, entity.ts, and 14 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/sqlite-core/db.ts (domain: DrizzleORM, subdomain: SQLDialects, directory: drizzle-orm/src/sqlite-core).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free