Home / File/ sqlite-to-camel.test.ts — drizzle-orm Source File

sqlite-to-camel.test.ts — drizzle-orm Source File

Architecture documentation for sqlite-to-camel.test.ts, a typescript file in the drizzle-orm codebase. 6 imports, 0 dependents.

File typescript DrizzleORM SQLDialects 6 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  a0bb03db_8604_b9ec_a28c_c62f62197f5c["sqlite-to-camel.test.ts"]
  ccd8f141_31dd_df9e_0535_43efaea4d6db["better-sqlite3"]
  a0bb03db_8604_b9ec_a28c_c62f62197f5c --> ccd8f141_31dd_df9e_0535_43efaea4d6db
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  a0bb03db_8604_b9ec_a28c_c62f62197f5c --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  6bda7f42_697c_378d_d559_647bc8f79bbf["better-sqlite3"]
  a0bb03db_8604_b9ec_a28c_c62f62197f5c --> 6bda7f42_697c_378d_d559_647bc8f79bbf
  53804b55_ded4_8cdd_2d99_47fbfb11df9d["relations"]
  a0bb03db_8604_b9ec_a28c_c62f62197f5c --> 53804b55_ded4_8cdd_2d99_47fbfb11df9d
  cb29afcc_14c9_059c_db9f_fd9677e8b162["sql"]
  a0bb03db_8604_b9ec_a28c_c62f62197f5c --> cb29afcc_14c9_059c_db9f_fd9677e8b162
  714a7461_7355_1cd1_4359_940b5245b2d0["sqlite-core"]
  a0bb03db_8604_b9ec_a28c_c62f62197f5c --> 714a7461_7355_1cd1_4359_940b5245b2d0
  style a0bb03db_8604_b9ec_a28c_c62f62197f5c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import Database from 'better-sqlite3';
import { beforeEach, describe, it } from 'vitest';
import { drizzle } from '~/better-sqlite3';
import { relations } from '~/relations';
import { asc, eq, sql } from '~/sql';
import { alias, integer, sqliteTable, text, union } from '~/sqlite-core';

const users = sqliteTable('users', {
	id: integer().primaryKey({ autoIncrement: true }),
	first_name: text().notNull(),
	last_name: text().notNull(),
	// Test that custom aliases remain
	age: integer('AGE'),
});
const usersRelations = relations(users, ({ one }) => ({
	developers: one(developers),
}));
const developers = sqliteTable('developers', {
	user_id: integer().primaryKey().references(() => users.id),
	uses_drizzle_orm: integer({ mode: 'boolean' }).notNull(),
});
const developersRelations = relations(developers, ({ one }) => ({
	user: one(users, {
		fields: [developers.user_id],
		references: [users.id],
	}),
}));
const devs = alias(developers, 'devs');
const schema = { users, usersRelations, developers, developersRelations };

const db = drizzle(new Database(':memory:'), { schema, casing: 'camelCase' });

const usersCache = {
	'public.users.id': 'id',
	'public.users.first_name': 'firstName',
	'public.users.last_name': 'lastName',
	'public.users.AGE': 'age',
};
const developersCache = {
	'public.developers.user_id': 'userId',
	'public.developers.uses_drizzle_orm': 'usesDrizzleOrm',
};
const cache = {
	...usersCache,
	...developersCache,
};

const fullName = sql`${users.first_name} || ' ' || ${users.last_name}`.as('name');

describe('sqlite to camel case', () => {
	beforeEach(() => {
		db.dialect.casing.clearCache();
	});

	it('select', ({ expect }) => {
		const query = db
			.select({ name: fullName, age: users.age })
			.from(users)
			.leftJoin(developers, eq(users.id, developers.user_id))
			.orderBy(asc(users.first_name));
// ... (185 more lines)

Domain

Subdomains

Dependencies

  • better-sqlite3
  • better-sqlite3
  • relations
  • sql
  • sqlite-core
  • vitest

Frequently Asked Questions

What does sqlite-to-camel.test.ts do?
sqlite-to-camel.test.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 sqlite-to-camel.test.ts?
sqlite-to-camel.test.ts defines 2 function(s): developersRelations, usersRelations.
What does sqlite-to-camel.test.ts depend on?
sqlite-to-camel.test.ts imports 6 module(s): better-sqlite3, better-sqlite3, relations, sql, sqlite-core, vitest.
Where is sqlite-to-camel.test.ts in the architecture?
sqlite-to-camel.test.ts is located at drizzle-orm/tests/casing/sqlite-to-camel.test.ts (domain: DrizzleORM, subdomain: SQLDialects, directory: drizzle-orm/tests/casing).

Analyze Your Own Codebase

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

Try Supermodel Free