view.ts — drizzle-orm Source File
Architecture documentation for view.ts, a typescript file in the drizzle-orm codebase. 14 imports, 3 dependents.
Entity Profile
Dependency Diagram
graph LR f3a29a26_df86_4100_d5ea_bc3a420b1722["view.ts"] e383fa18_3db6_3f2c_0ac0_30b5ced54ad6["index.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> e383fa18_3db6_3f2c_0ac0_30b5ced54ad6 d3bb1ead_e032_22bd_ccef_f6b0abac6ed1["query-builder.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> d3bb1ead_e032_22bd_ccef_f6b0abac6ed1 dee3e8ac_d7af_d07c_18f4_417182ce53f3["QueryBuilder"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> dee3e8ac_d7af_d07c_18f4_417182ce53f3 62c695d3_7eff_3822_db70_ce6b25ccdb04["table.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> 62c695d3_7eff_3822_db70_ce6b25ccdb04 baeaae7a_6e32_8d63_8090_9210b8c900b4["mysqlTable"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> baeaae7a_6e32_8d63_8090_9210b8c900b4 a79cf58d_7307_4b51_46d7_0b6063316314["view-base.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> a79cf58d_7307_4b51_46d7_0b6063316314 e287184d_ea11_bd4f_3c91_41ded4ea9311["view-common.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> e287184d_ea11_bd4f_3c91_41ded4ea9311 2dc784c6_95e9_4e28_ec81_7caf4acbd426["column-builder.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> 2dc784c6_95e9_4e28_ec81_7caf4acbd426 27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426 d31ad410_b8fc_5d88_a194_70aa7419676a["query-builder.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> d31ad410_b8fc_5d88_a194_70aa7419676a 8fb028b7_6ce0_27fa_29b6_39545ba11529["select.types.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> 8fb028b7_6ce0_27fa_29b6_39545ba11529 591617cf_1376_c0a1_4ba1_ecd59ca13a5b["selection-proxy.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> 591617cf_1376_c0a1_4ba1_ecd59ca13a5b be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd ecce3253_1e75_a87f_27b3_ca87e81a3024["utils.ts"] f3a29a26_df86_4100_d5ea_bc3a420b1722 --> ecce3253_1e75_a87f_27b3_ca87e81a3024 style f3a29a26_df86_4100_d5ea_bc3a420b1722 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { BuildColumns } from '~/column-builder.ts';
import { entityKind } from '~/entity.ts';
import type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';
import type { AddAliasToSelection } from '~/query-builders/select.types.ts';
import { SelectionProxyHandler } from '~/selection-proxy.ts';
import type { ColumnsSelection, SQL } from '~/sql/sql.ts';
import { getTableColumns } from '~/utils.ts';
import type { MySqlColumn, MySqlColumnBuilderBase } from './columns/index.ts';
import { QueryBuilder } from './query-builders/query-builder.ts';
import { mysqlTable } from './table.ts';
import { MySqlViewBase } from './view-base.ts';
import { MySqlViewConfig } from './view-common.ts';
export interface ViewBuilderConfig {
algorithm?: 'undefined' | 'merge' | 'temptable';
sqlSecurity?: 'definer' | 'invoker';
withCheckOption?: 'cascaded' | 'local';
}
export class ViewBuilderCore<TConfig extends { name: string; columns?: unknown }> {
static readonly [entityKind]: string = 'MySqlViewBuilder';
declare readonly _: {
readonly name: TConfig['name'];
readonly columns: TConfig['columns'];
};
constructor(
protected name: TConfig['name'],
protected schema: string | undefined,
) {}
protected config: ViewBuilderConfig = {};
algorithm(
algorithm: Exclude<ViewBuilderConfig['algorithm'], undefined>,
): this {
this.config.algorithm = algorithm;
return this;
}
sqlSecurity(
sqlSecurity: Exclude<ViewBuilderConfig['sqlSecurity'], undefined>,
): this {
this.config.sqlSecurity = sqlSecurity;
return this;
}
withCheckOption(
withCheckOption?: Exclude<ViewBuilderConfig['withCheckOption'], undefined>,
): this {
this.config.withCheckOption = withCheckOption ?? 'cascaded';
return this;
}
}
export class ViewBuilder<TName extends string = string> extends ViewBuilderCore<{ name: TName }> {
static override readonly [entityKind]: string = 'MySqlViewBuilder';
as<TSelectedFields extends ColumnsSelection>(
// ... (140 more lines)
Domain
Subdomains
Functions
Dependencies
- QueryBuilder
- column-builder.ts
- entity.ts
- index.ts
- mysqlTable
- query-builder.ts
- query-builder.ts
- select.types.ts
- selection-proxy.ts
- sql.ts
- table.ts
- utils.ts
- view-base.ts
- view-common.ts
Imported By
Source
Frequently Asked Questions
What does view.ts do?
view.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 view.ts?
view.ts defines 2 function(s): mysqlView, mysqlViewWithSchema.
What does view.ts depend on?
view.ts imports 14 module(s): QueryBuilder, column-builder.ts, entity.ts, index.ts, mysqlTable, query-builder.ts, query-builder.ts, select.types.ts, and 6 more.
What files import view.ts?
view.ts is imported by 3 file(s): schema.ts, select.types.ts, utils.ts.
Where is view.ts in the architecture?
view.ts is located at drizzle-orm/src/mysql-core/view.ts (domain: DrizzleORM, subdomain: SQLDialects, directory: drizzle-orm/src/mysql-core).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free