tables.ts — drizzle-orm Source File
Architecture documentation for tables.ts, a typescript file in the drizzle-orm codebase. 7 imports, 7 dependents.
Entity Profile
Dependency Diagram
graph LR 87dcb46e_0d95_8341_e760_d59ef620c68d["tables.ts"] 9a56da77_7540_380c_f8b9_d8bde4914940["db.ts"] 87dcb46e_0d95_8341_e760_d59ef620c68d --> 9a56da77_7540_380c_f8b9_d8bde4914940 3f58c8f4_b305_acb0_933a_0541231c5109["node:crypto"] 87dcb46e_0d95_8341_e760_d59ef620c68d --> 3f58c8f4_b305_acb0_933a_0541231c5109 25b05299_f48f_bceb_01ca_1343d330a8f7["utils.ts"] 87dcb46e_0d95_8341_e760_d59ef620c68d --> 25b05299_f48f_bceb_01ca_1343d330a8f7 5c46beaf_8b59_d2e3_def3_8af6daf1fccd["index.ts"] 87dcb46e_0d95_8341_e760_d59ef620c68d --> 5c46beaf_8b59_d2e3_def3_8af6daf1fccd be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"] 87dcb46e_0d95_8341_e760_d59ef620c68d --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd c9460fa2_b68e_584b_2be3_a4db38ea6f7c["index.ts"] 87dcb46e_0d95_8341_e760_d59ef620c68d --> c9460fa2_b68e_584b_2be3_a4db38ea6f7c 977ee30e_abf0_475b_97c6_f9a4eb97a92f["view.ts"] 87dcb46e_0d95_8341_e760_d59ef620c68d --> 977ee30e_abf0_475b_97c6_f9a4eb97a92f 17a58b86_c6ea_9812_f57c_197b3715509b["aliased-table.ts"] 17a58b86_c6ea_9812_f57c_197b3715509b --> 87dcb46e_0d95_8341_e760_d59ef620c68d 91cfe141_d94d_725f_35e0_6a96a9f02128["delete.ts"] 91cfe141_d94d_725f_35e0_6a96a9f02128 --> 87dcb46e_0d95_8341_e760_d59ef620c68d 40aaa4f8_fa63_89fa_80a7_f806d7c20c5d["insert.ts"] 40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> 87dcb46e_0d95_8341_e760_d59ef620c68d 0de803b9_c75e_e94e_019a_0c694228f60e["other.ts"] 0de803b9_c75e_e94e_019a_0c694228f60e --> 87dcb46e_0d95_8341_e760_d59ef620c68d 0ff94ef8_b176_7009_9517_327e186dd2d1["select.ts"] 0ff94ef8_b176_7009_9517_327e186dd2d1 --> 87dcb46e_0d95_8341_e760_d59ef620c68d 20d20271_669e_bb2d_537b_ef209a0ba63d["set-operators.ts"] 20d20271_669e_bb2d_537b_ef209a0ba63d --> 87dcb46e_0d95_8341_e760_d59ef620c68d afc610b8_1520_83da_fa4c_c92e99605850["update.ts"] afc610b8_1520_83da_fa4c_c92e99605850 --> 87dcb46e_0d95_8341_e760_d59ef620c68d style 87dcb46e_0d95_8341_e760_d59ef620c68d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import * as crypto from 'node:crypto';
import type { Equal } from 'type-tests/utils.ts';
import { Expect } from 'type-tests/utils.ts';
import { eq, gt } from '~/sql/expressions/index.ts';
import { sql } from '~/sql/sql.ts';
import {
alias,
blob,
check,
customType,
foreignKey,
index,
integer,
numeric,
primaryKey,
real,
type SQLiteColumn,
sqliteTable,
text,
uniqueIndex,
} from '~/sqlite-core/index.ts';
import { sqliteView, type SQLiteViewWithSelection } from '~/sqlite-core/view.ts';
import { db } from './db.ts';
export const users = sqliteTable(
'users_table',
{
id: integer('id').primaryKey({ autoIncrement: true }),
homeCity: integer('home_city')
.notNull()
.references(() => cities.id),
currentCity: integer('current_city').references(() => cities.id),
serialNullable: integer('serial1'),
serialNotNull: integer('serial2').notNull(),
class: text('class', { enum: ['A', 'C'] }).notNull(),
subClass: text('sub_class', { enum: ['B', 'D'] }),
name: text('name'),
age1: integer('age1').notNull(),
createdAt: integer('created_at', { mode: 'timestamp' }).notNull().defaultNow(),
enumCol: text('enum_col', { enum: ['a', 'b', 'c'] }).notNull(),
},
(users) => ({
usersAge1Idx: uniqueIndex('usersAge1Idx').on(users.class),
usersAge2Idx: index('usersAge2Idx').on(users.class),
uniqueClass: uniqueIndex('uniqueClass')
.on(users.class, users.subClass)
.where(
sql`${users.class} is not null`,
),
uniqueClassEvenBetterThanPrisma: uniqueIndex('uniqueClass')
.on(users.class, users.subClass)
.where(
sql`${users.class} is not null`,
),
legalAge: check('legalAge', sql`${users.age1} > 18`),
usersClassFK: foreignKey(() => ({ columns: [users.subClass], foreignColumns: [classes.subClass] })),
usersClassComplexFK: foreignKey(() => ({
columns: [users.class, users.subClass],
foreignColumns: [classes.class, classes.subClass],
})),
// ... (525 more lines)
Domain
Subdomains
Functions
Dependencies
- db.ts
- index.ts
- index.ts
- node:crypto
- sql.ts
- utils.ts
- view.ts
Imported By
Source
Frequently Asked Questions
What does tables.ts do?
tables.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 tables.ts?
tables.ts defines 9 function(s): cities, customOptionalConfig.dataType, customOptionalConfig.fromDriver, customOptionalConfig.toDriver, customRequiredConfig.dataType, customRequiredConfig.fromDriver, customRequiredConfig.toDriver, newYorkers, users.
What does tables.ts depend on?
tables.ts imports 7 module(s): db.ts, index.ts, index.ts, node:crypto, sql.ts, utils.ts, view.ts.
What files import tables.ts?
tables.ts is imported by 7 file(s): aliased-table.ts, delete.ts, insert.ts, other.ts, select.ts, set-operators.ts, update.ts.
Where is tables.ts in the architecture?
tables.ts is located at drizzle-orm/type-tests/sqlite/tables.ts (domain: DrizzleORM, subdomain: SQLDialects, directory: drizzle-orm/type-tests/sqlite).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free