Home / File/ db.ts — drizzle-orm Source File

db.ts — drizzle-orm Source File

Architecture documentation for db.ts, a typescript file in the drizzle-orm codebase. 22 imports, 1 dependents.

File typescript DrizzleORM SQLDialects 22 imports 1 dependents 1 functions 1 classes

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

Dependencies

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