Home / File/ aliased-table.ts — drizzle-orm Source File

aliased-table.ts — drizzle-orm Source File

Architecture documentation for aliased-table.ts, a typescript file in the drizzle-orm codebase. 17 imports, 0 dependents.

File typescript DrizzleORM RelationalQuery 17 imports 3 functions

Entity Profile

Dependency Diagram

graph LR
  17a58b86_c6ea_9812_f57c_197b3715509b["aliased-table.ts"]
  19c69e5c_3d0f_1262_b345_f1446e5c039c["tables.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 19c69e5c_3d0f_1262_b345_f1446e5c039c
  caa52a1a_16f9_3a9a_258d_b90f0234f2fd["users"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> caa52a1a_16f9_3a9a_258d_b90f0234f2fd
  998b0a13_62af_9408_d100_2bb61b49b6b9["tables.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 998b0a13_62af_9408_d100_2bb61b49b6b9
  4d7e77e2_6504_f5a5_4a03_156acfe671d4["users"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 4d7e77e2_6504_f5a5_4a03_156acfe671d4
  87dcb46e_0d95_8341_e760_d59ef620c68d["tables.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 87dcb46e_0d95_8341_e760_d59ef620c68d
  05a4464c_b137_3d56_0f64_434dce6f7bad["users"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 05a4464c_b137_3d56_0f64_434dce6f7bad
  25b05299_f48f_bceb_01ca_1343d330a8f7["utils.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 25b05299_f48f_bceb_01ca_1343d330a8f7
  6edbc86d_00ec_e1a9_d845_ab84f4882062["index.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 6edbc86d_00ec_e1a9_d845_ab84f4882062
  dc8bd770_ddfe_db1c_e8d9_9c7128b9eccb["index.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> dc8bd770_ddfe_db1c_e8d9_9c7128b9eccb
  2bfe45b2_84dd_a5e2_c5fc_4aa0362337fe["alias.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 2bfe45b2_84dd_a5e2_c5fc_4aa0362337fe
  324d9d3c_cc90_914e_9860_1b0826f4780e["view.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 324d9d3c_cc90_914e_9860_1b0826f4780e
  8309b973_c3d5_dc4e_7a67_08a63c7dd692["index.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 8309b973_c3d5_dc4e_7a67_08a63c7dd692
  0c042bd8_b865_1feb_b25f_8c0e50d1e4a5["alias.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 0c042bd8_b865_1feb_b25f_8c0e50d1e4a5
  56a99b7e_a642_4ea2_af0b_c88ee3a3dc3c["view.ts"]
  17a58b86_c6ea_9812_f57c_197b3715509b --> 56a99b7e_a642_4ea2_af0b_c88ee3a3dc3c
  style 17a58b86_c6ea_9812_f57c_197b3715509b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { type Equal, Expect } from 'type-tests/utils.ts';
import { eq } from '~/index.ts';
import { drizzle as sqlited } from '~/libsql/index.ts';
import { alias as mysqlAliasFn } from '~/mysql-core/alias.ts';
import { mysqlView } from '~/mysql-core/view.ts';
import { drizzle as mysqld } from '~/mysql2/index.ts';
import { alias as pgAliasFn } from '~/pg-core/alias.ts';
import { pgView } from '~/pg-core/view.ts';
import { drizzle as pgd } from '~/postgres-js/index.ts';
import { alias as sqliteAliasFn } from '~/sqlite-core/alias.ts';
import { sqliteView } from '~/sqlite-core/view.ts';
import { users as mysqlUsers } from '../mysql/tables.ts';
import { users as pgUsers } from '../pg/tables.ts';
import { users as sqliteUsers } from '../sqlite/tables.ts';

const pg = pgd.mock();
const sqlite = sqlited.mock();
const mysql = mysqld.mock();

const pgvUsers = pgView('users_view').as((qb) => qb.select().from(pgUsers));
const sqlitevUsers = sqliteView('users_view').as((qb) => qb.select().from(sqliteUsers));
const mysqlvUsers = mysqlView('users_view').as((qb) => qb.select().from(mysqlUsers));

const pgAlias = pgAliasFn(pgUsers, 'usersAlias');
const sqliteAlias = sqliteAliasFn(sqliteUsers, 'usersAlias');
const mysqlAlias = mysqlAliasFn(mysqlUsers, 'usersAlias');

const pgvAlias = pgAliasFn(pgvUsers, 'usersvAlias');
const sqlitevAlias = sqliteAliasFn(sqlitevUsers, 'usersvAlias');
const mysqlvAlias = mysqlAliasFn(mysqlvUsers, 'usersvAlias');

const pgRes = await pg.select().from(pgUsers).leftJoin(pgAlias, eq(pgAlias.id, pgUsers.id));
const sqliteRes = await sqlite.select().from(sqliteUsers).leftJoin(sqliteAlias, eq(sqliteAlias.id, sqliteUsers.id));
const mysqlRes = await mysql.select().from(mysqlUsers).leftJoin(mysqlAlias, eq(mysqlAlias.id, mysqlUsers.id));

const pgvRes = await pg.select().from(pgUsers).leftJoin(pgvAlias, eq(pgvAlias.id, pgUsers.id));
const sqlitevRes = await sqlite.select().from(sqliteUsers).leftJoin(sqlitevAlias, eq(sqlitevAlias.id, sqliteUsers.id));
const mysqlvRes = await mysql.select().from(mysqlUsers).leftJoin(mysqlvAlias, eq(mysqlvAlias.id, mysqlUsers.id));

Expect<
	Equal<typeof pgRes, {
		users_table: {
			id: number;
			uuid: string;
			homeCity: number;
			currentCity: number | null;
			serialNullable: number;
			serialNotNull: number;
			class: 'A' | 'C';
			subClass: 'B' | 'D' | null;
			text: string | null;
			age1: number;
			createdAt: Date;
			enumCol: 'a' | 'b' | 'c';
			arrayCol: string[];
		};
		usersAlias: {
			id: number;
			uuid: string;
			homeCity: number;
// ... (173 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does aliased-table.ts do?
aliased-table.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, RelationalQuery subdomain.
What functions are defined in aliased-table.ts?
aliased-table.ts defines 3 function(s): mysqlvUsers, pgvUsers, sqlitevUsers.
What does aliased-table.ts depend on?
aliased-table.ts imports 17 module(s): alias.ts, alias.ts, alias.ts, index.ts, index.ts, index.ts, index.ts, tables.ts, and 9 more.
Where is aliased-table.ts in the architecture?
aliased-table.ts is located at drizzle-orm/type-tests/common/aliased-table.ts (domain: DrizzleORM, subdomain: RelationalQuery, directory: drizzle-orm/type-tests/common).

Analyze Your Own Codebase

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

Try Supermodel Free