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

common.ts — drizzle-orm Source File

Architecture documentation for common.ts, a typescript file in the drizzle-orm codebase. 9 imports, 12 dependents.

File typescript DrizzleORM SQLDialects 9 imports 12 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  a4c1e5cb_a206_4786_985b_0e0a35ddd536["common.ts"]
  45366305_acee_28e7_392a_dc8de75a63d3["unique-constraint.ts"]
  a4c1e5cb_a206_4786_985b_0e0a35ddd536 --> 45366305_acee_28e7_392a_dc8de75a63d3
  4b8231e0_d1f9_0b2c_492b_0ce7b6f2d1a3["uniqueKeyName"]
  a4c1e5cb_a206_4786_985b_0e0a35ddd536 --> 4b8231e0_d1f9_0b2c_492b_0ce7b6f2d1a3
  2dc784c6_95e9_4e28_ec81_7caf4acbd426["column-builder.ts"]
  a4c1e5cb_a206_4786_985b_0e0a35ddd536 --> 2dc784c6_95e9_4e28_ec81_7caf4acbd426
  05f0a280_d0c9_693a_a4bf_83cc671012d2["column.ts"]
  a4c1e5cb_a206_4786_985b_0e0a35ddd536 --> 05f0a280_d0c9_693a_a4bf_83cc671012d2
  27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"]
  a4c1e5cb_a206_4786_985b_0e0a35ddd536 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426
  be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"]
  a4c1e5cb_a206_4786_985b_0e0a35ddd536 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd
  bbf3d0a4_0fad_af68_8d42_34eda35b1d9e["foreign-keys.ts"]
  a4c1e5cb_a206_4786_985b_0e0a35ddd536 --> bbf3d0a4_0fad_af68_8d42_34eda35b1d9e
  227c0a5e_dd35_a654_1766_5a30cb1b922f["table.ts"]
  a4c1e5cb_a206_4786_985b_0e0a35ddd536 --> 227c0a5e_dd35_a654_1766_5a30cb1b922f
  ecce3253_1e75_a87f_27b3_ca87e81a3024["utils.ts"]
  a4c1e5cb_a206_4786_985b_0e0a35ddd536 --> ecce3253_1e75_a87f_27b3_ca87e81a3024
  5c8a5ab6_4356_4d2f_782b_4e0b3b38b801["blob.ts"]
  5c8a5ab6_4356_4d2f_782b_4e0b3b38b801 --> a4c1e5cb_a206_4786_985b_0e0a35ddd536
  e7326635_a1d9_22bf_400e_da3a7dd63899["custom.ts"]
  e7326635_a1d9_22bf_400e_da3a7dd63899 --> a4c1e5cb_a206_4786_985b_0e0a35ddd536
  29728329_4422_ca9a_2652_18e0b18797f4["integer.ts"]
  29728329_4422_ca9a_2652_18e0b18797f4 --> a4c1e5cb_a206_4786_985b_0e0a35ddd536
  c5af0e66_056b_2390_c3e9_ff89afff460c["numeric.ts"]
  c5af0e66_056b_2390_c3e9_ff89afff460c --> a4c1e5cb_a206_4786_985b_0e0a35ddd536
  f265b8e0_8c11_0dc5_3895_a9a09f511b37["real.ts"]
  f265b8e0_8c11_0dc5_3895_a9a09f511b37 --> a4c1e5cb_a206_4786_985b_0e0a35ddd536
  style a4c1e5cb_a206_4786_985b_0e0a35ddd536 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type {
	ColumnBuilderBase,
	ColumnBuilderBaseConfig,
	ColumnBuilderExtraConfig,
	ColumnBuilderRuntimeConfig,
	ColumnDataType,
	HasGenerated,
	MakeColumnConfig,
} from '~/column-builder.ts';
import { ColumnBuilder } from '~/column-builder.ts';
import { Column } from '~/column.ts';
import type { ColumnBaseConfig } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import type { SQL } from '~/sql/sql.ts';
import type { ForeignKey, UpdateDeleteAction } from '~/sqlite-core/foreign-keys.ts';
import { ForeignKeyBuilder } from '~/sqlite-core/foreign-keys.ts';
import type { AnySQLiteTable, SQLiteTable } from '~/sqlite-core/table.ts';
import type { Update } from '~/utils.ts';
import { uniqueKeyName } from '../unique-constraint.ts';

export interface ReferenceConfig {
	ref: () => SQLiteColumn;
	actions: {
		onUpdate?: UpdateDeleteAction;
		onDelete?: UpdateDeleteAction;
	};
}

export interface SQLiteColumnBuilderBase<
	T extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,
	TTypeConfig extends object = object,
> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'sqlite' }> {}

export interface SQLiteGeneratedColumnConfig {
	mode?: 'virtual' | 'stored';
}

export abstract class SQLiteColumnBuilder<
	T extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,
	TRuntimeConfig extends object = object,
	TTypeConfig extends object = object,
	TExtraConfig extends ColumnBuilderExtraConfig = object,
> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'sqlite' }, TExtraConfig>
	implements SQLiteColumnBuilderBase<T, TTypeConfig>
{
	static override readonly [entityKind]: string = 'SQLiteColumnBuilder';

	private foreignKeyConfigs: ReferenceConfig[] = [];

	references(
		ref: ReferenceConfig['ref'],
		actions: ReferenceConfig['actions'] = {},
	): this {
		this.foreignKeyConfigs.push({ ref, actions });
		return this;
	}

	unique(
		name?: string,
	): this {
// ... (64 more lines)

Domain

Subdomains

Functions

Dependencies

Frequently Asked Questions

What does common.ts do?
common.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 common.ts?
common.ts defines 1 function(s): SQLiteColumn.
What does common.ts depend on?
common.ts imports 9 module(s): column-builder.ts, column.ts, entity.ts, foreign-keys.ts, sql.ts, table.ts, unique-constraint.ts, uniqueKeyName, and 1 more.
What files import common.ts?
common.ts is imported by 12 file(s): blob.ts, custom.ts, delete.ts, insert.ts, integer.ts, numeric.ts, real.ts, table.ts, and 4 more.
Where is common.ts in the architecture?
common.ts is located at drizzle-orm/src/sqlite-core/columns/common.ts (domain: DrizzleORM, subdomain: SQLDialects, directory: drizzle-orm/src/sqlite-core/columns).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free