Home / Type/ DBQueryConfig Type — drizzle-orm Architecture

DBQueryConfig Type — drizzle-orm Architecture

Architecture documentation for the DBQueryConfig type/interface in relations.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  84663a98_2123_fe35_e509_9d4ae18bd4ed["DBQueryConfig"]
  2f47d090_425d_2e56_2395_4c4d912316f0["relations.ts"]
  84663a98_2123_fe35_e509_9d4ae18bd4ed -->|defined in| 2f47d090_425d_2e56_2395_4c4d912316f0
  style 84663a98_2123_fe35_e509_9d4ae18bd4ed fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/relations.ts lines 210–277

export type DBQueryConfig<
	TRelationType extends 'one' | 'many' = 'one' | 'many',
	TIsRoot extends boolean = boolean,
	TSchema extends TablesRelationalConfig = TablesRelationalConfig,
	TTableConfig extends TableRelationalConfig = TableRelationalConfig,
> =
	& {
		columns?:
			| {
				[K in keyof TTableConfig['columns']]?: boolean;
			}
			| undefined;
		with?:
			| {
				[K in keyof TTableConfig['relations']]?:
					| true
					| DBQueryConfig<
						TTableConfig['relations'][K] extends One ? 'one' : 'many',
						false,
						TSchema,
						FindTableByDBName<
							TSchema,
							TTableConfig['relations'][K]['referencedTableName']
						>
					>
					| undefined;
			}
			| undefined;
		extras?:
			| Record<string, SQL.Aliased>
			| ((
				fields: Simplify<
					[TTableConfig['columns']] extends [never] ? {}
						: TTableConfig['columns']
				>,
				operators: { sql: Operators['sql'] },
			) => Record<string, SQL.Aliased>)
			| undefined;
	}
	& (TRelationType extends 'many' ?
			& {
				where?:
					| SQL
					| undefined
					| ((
						fields: Simplify<
							[TTableConfig['columns']] extends [never] ? {}
								: TTableConfig['columns']
						>,
						operators: Operators,
					) => SQL | undefined);
				orderBy?:
					| ValueOrArray<AnyColumn | SQL>
					| ((
						fields: Simplify<
							[TTableConfig['columns']] extends [never] ? {}
								: TTableConfig['columns']
						>,
						operators: OrderByOperators,
					) => ValueOrArray<AnyColumn | SQL>)
					| undefined;
				limit?: number | Placeholder | undefined;
			}
			& (TIsRoot extends true ? {
					offset?: number | Placeholder | undefined;
				}
				: {})
		: {});

Frequently Asked Questions

What is the DBQueryConfig type?
DBQueryConfig is a type/interface in the drizzle-orm codebase, defined in drizzle-orm/src/relations.ts.
Where is DBQueryConfig defined?
DBQueryConfig is defined in drizzle-orm/src/relations.ts at line 210.

Analyze Your Own Codebase

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

Try Supermodel Free