Home / File/ index.ts — drizzle-orm Source File

index.ts — drizzle-orm Source File

Architecture documentation for index.ts, a typescript file in the drizzle-orm codebase. 11 imports, 20 dependents.

File typescript DrizzleSeed SeedOrchestration 11 imports 20 dependents 18 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc["index.ts"]
  4d8b9b0c_75c6_bc65_84d3_d5e3192386e2["GeneratorFuncs.ts"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> 4d8b9b0c_75c6_bc65_84d3_d5e3192386e2
  e5cee001_0354_7e76_ef0a_06dca71dc8ce["Generators.ts"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> e5cee001_0354_7e76_ef0a_06dca71dc8ce
  cddca4ed_9295_2c5a_7eae_0e65031c57b0["SeedService.ts"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> cddca4ed_9295_2c5a_7eae_0e65031c57b0
  47d4adba_a06e_da02_25d2_fcdb97764214["SeedService"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> 47d4adba_a06e_da02_25d2_fcdb97764214
  608febef_f58a_5716_7467_62f648585908["drizzleStudio.ts"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> 608febef_f58a_5716_7467_62f648585908
  aaa9a26b_a842_a4d1_a213_2cea0b822f37["seedService.ts"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> aaa9a26b_a842_a4d1_a213_2cea0b822f37
  068455b6_0ea9_cdc1_8414_ef0ad089ef04["tables.ts"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> 068455b6_0ea9_cdc1_8414_ef0ad089ef04
  690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031
  93ed9350_daa0_6c21_81a6_ed6b2a48bbdf["mysql-core"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> 93ed9350_daa0_6c21_81a6_ed6b2a48bbdf
  53497908_16e7_977d_e97d_7414884a88a6["pg-core"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> 53497908_16e7_977d_e97d_7414884a88a6
  25248a9d_ba06_2b33_4421_8575da2f9c34["sqlite-core"]
  0fabdd81_61c9_bb7c_7ddf_dde7a6071abc --> 25248a9d_ba06_2b33_4421_8575da2f9c34
  7b31ad52_39ad_e8a6_33ca_e9df73d2c55e["mysql_all_data_types.test.ts"]
  7b31ad52_39ad_e8a6_33ca_e9df73d2c55e --> 0fabdd81_61c9_bb7c_7ddf_dde7a6071abc
  4f3cf996_699e_7aad_2f55_844994353684["cyclicTables.test.ts"]
  4f3cf996_699e_7aad_2f55_844994353684 --> 0fabdd81_61c9_bb7c_7ddf_dde7a6071abc
  afc61419_e4e8_6728_320e_9b649ad2780c["generators.test.ts"]
  afc61419_e4e8_6728_320e_9b649ad2780c --> 0fabdd81_61c9_bb7c_7ddf_dde7a6071abc
  style 0fabdd81_61c9_bb7c_7ddf_dde7a6071abc fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/* eslint-disable drizzle-internal/require-entity-kind */
import {
	createTableRelationsHelpers,
	extractTablesRelationalConfig,
	getTableName,
	is,
	One,
	Relations,
	sql,
} from 'drizzle-orm';

import type { MySqlColumn, MySqlSchema } from 'drizzle-orm/mysql-core';
import { getTableConfig as getMysqlTableConfig, MySqlDatabase, MySqlTable } from 'drizzle-orm/mysql-core';

import type { PgArray, PgColumn, PgSchema } from 'drizzle-orm/pg-core';
import { getTableConfig as getPgTableConfig, PgDatabase, PgTable } from 'drizzle-orm/pg-core';

import type { SQLiteColumn } from 'drizzle-orm/sqlite-core';
import { BaseSQLiteDatabase, getTableConfig as getSqliteTableConfig, SQLiteTable } from 'drizzle-orm/sqlite-core';

import { generatorsFuncs, generatorsFuncsV2 } from './services/GeneratorFuncs.ts';
import type { AbstractGenerator } from './services/Generators.ts';
import { SeedService } from './services/SeedService.ts';
import type { DrizzleStudioObjectType, DrizzleStudioRelationType } from './types/drizzleStudio.ts';
import type { RefinementsType } from './types/seedService.ts';
import type { Column, Relation, RelationWithReferences, Table } from './types/tables.ts';

type InferCallbackType<
	DB extends
		| PgDatabase<any, any>
		| MySqlDatabase<any, any>
		| BaseSQLiteDatabase<any, any>,
	SCHEMA extends {
		[key: string]: PgTable | PgSchema | MySqlTable | MySqlSchema | SQLiteTable | Relations;
	},
> = DB extends PgDatabase<any, any> ? SCHEMA extends {
		[key: string]:
			| PgTable
			| PgSchema
			| MySqlTable
			| MySqlSchema
			| SQLiteTable
			| Relations;
	} ? {
			// iterates through schema fields. example -> schema: {"tableName": PgTable}
			[
				table in keyof SCHEMA as SCHEMA[table] extends PgTable ? table
					: never
			]?: {
				count?: number;
				columns?: {
					// iterates through table fields. example -> table: {"columnName": PgColumn}
					[
						column in keyof SCHEMA[table] as SCHEMA[table][column] extends PgColumn ? column
							: never
					]?: AbstractGenerator<any>;
				};
				with?: {
					[
						refTable in keyof SCHEMA as SCHEMA[refTable] extends PgTable ? refTable
// ... (1449 more lines)

Domain

Subdomains

Classes

Frequently Asked Questions

What does index.ts do?
index.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleSeed domain, SeedOrchestration subdomain.
What functions are defined in index.ts?
index.ts defines 18 function(s): filterMysqlTables, filterPgSchema, filterSqliteTables, getGeneratorsFunctions, getMySqlInfo, getPostgresInfo, getSqliteInfo, isRelationCyclic, reset, resetMySql, and 8 more.
What does index.ts depend on?
index.ts imports 11 module(s): GeneratorFuncs.ts, Generators.ts, SeedService, SeedService.ts, drizzle-orm, drizzleStudio.ts, mysql-core, pg-core, and 3 more.
What files import index.ts?
index.ts is imported by 20 file(s): cyclicTables.test.ts, cyclicTables.test.ts, cyclicTables.test.ts, generators.test.ts, generators.test.ts, mysql.test.ts, mysql.ts, mysqlTest.ts, and 12 more.
Where is index.ts in the architecture?
index.ts is located at drizzle-seed/src/index.ts (domain: DrizzleSeed, subdomain: SeedOrchestration, directory: drizzle-seed/src).

Analyze Your Own Codebase

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

Try Supermodel Free