Home / Function/ view() — drizzle-orm Function Reference

view() — drizzle-orm Function Reference

Architecture documentation for the view() function in index.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  6dae625a_5ce0_36b0_2951_2d33d600c556["view()"]
  34f01008_7c45_3804_1fad_b8b59cd8a413["MyDurableObject"]
  6dae625a_5ce0_36b0_2951_2d33d600c556 -->|defined in| 34f01008_7c45_3804_1fad_b8b59cd8a413
  b19b108f_def7_3a32_99a3_c8be51ce2fbf["beforeEach()"]
  6dae625a_5ce0_36b0_2951_2d33d600c556 -->|calls| b19b108f_def7_3a32_99a3_c8be51ce2fbf
  style 6dae625a_5ce0_36b0_2951_2d33d600c556 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

integration-tests/tests/sqlite/durable-objects/index.ts lines 1814–1883

	async view(): Promise<void> {
		try {
			await this.beforeEach();
			const newYorkers1 = sqliteView('new_yorkers').as((qb) =>
				qb.select().from(users2Table).where(eq(users2Table.cityId, 1))
			);

			const newYorkers2 = sqliteView('new_yorkers', {
				id: integer('id').primaryKey(),
				name: text('name').notNull(),
				cityId: integer('city_id').notNull(),
			}).as(sql`select * from ${users2Table} where ${eq(users2Table.cityId, 1)}`);

			const newYorkers3 = sqliteView('new_yorkers', {
				id: integer('id').primaryKey(),
				name: text('name').notNull(),
				cityId: integer('city_id').notNull(),
			}).existing();

			this.db.run(sql`create view if not exists new_yorkers as ${getViewConfig(newYorkers1).query}`);

			this.db
				.insert(citiesTable)
				.values([{ name: 'New York' }, { name: 'Paris' }])
				.run();

			this.db
				.insert(users2Table)
				.values([
					{ name: 'John', cityId: 1 },
					{ name: 'Jane', cityId: 1 },
					{ name: 'Jack', cityId: 2 },
				])
				.run();

			{
				const result = this.db.select().from(newYorkers1).all();
				expect(result).deep.equal([
					{ id: 1, name: 'John', cityId: 1 },
					{ id: 2, name: 'Jane', cityId: 1 },
				]);
			}

			{
				const result = this.db.select().from(newYorkers2).all();
				expect(result).deep.equal([
					{ id: 1, name: 'John', cityId: 1 },
					{ id: 2, name: 'Jane', cityId: 1 },
				]);
			}

			{
				const result = this.db.select().from(newYorkers3).all();
				expect(result).deep.equal([
					{ id: 1, name: 'John', cityId: 1 },
					{ id: 2, name: 'Jane', cityId: 1 },
				]);
			}

			{
				const result = this.db.select({ name: newYorkers1.name }).from(newYorkers1).all();
				expect(result).deep.equal([{ name: 'John' }, { name: 'Jane' }]);
			}

			this.db.run(sql`drop view ${newYorkers1}`);
		} catch (error: any) {
			console.error(error);
			throw new Error(`view error`);
		}
	}

Domain

Subdomains

Calls

Frequently Asked Questions

What does view() do?
view() is a function in the drizzle-orm codebase, defined in integration-tests/tests/sqlite/durable-objects/index.ts.
Where is view() defined?
view() is defined in integration-tests/tests/sqlite/durable-objects/index.ts at line 1814.
What does view() call?
view() calls 1 function(s): beforeEach.

Analyze Your Own Codebase

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

Try Supermodel Free