studio.ts — drizzle-orm Source File
Architecture documentation for studio.ts, a typescript file in the drizzle-orm codebase. 29 imports, 4 dependents.
Entity Profile
Dependency Diagram
graph LR 82de12f8_a8ca_9d38_8da8_9ac945d81e01["studio.ts"] 09e5bcf1_0f03_3dbd_fbdb_762440f28855["utils.ts"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 09e5bcf1_0f03_3dbd_fbdb_762440f28855 54221957_c725_0bfe_4345_4f3837d39296["safeRegister"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 54221957_c725_0bfe_4345_4f3837d39296 d81f4f07_7d2c_ea3f_392e_6be6055ba361["mysql.ts"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> d81f4f07_7d2c_ea3f_392e_6be6055ba361 aa34baa9_cce1_f1d8_4227_98c889d76b37["postgres.ts"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> aa34baa9_cce1_f1d8_4227_98c889d76b37 f65d82f8_85a1_d127_5f91_94b02851c72a["singlestore.ts"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> f65d82f8_85a1_d127_5f91_94b02851c72a 340acff6_8c1f_b0b5_9358_222e8b76d050["sqlite.ts"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 340acff6_8c1f_b0b5_9358_222e8b76d050 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a["utils.ts"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a 12d176aa_882f_ddcb_4bc8_df3fbb9542b1["utils.ts"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1 0f6bcec9_496e_3388_a2d6_2f3af1e12d53["getColumnCasing"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 0f6bcec9_496e_3388_a2d6_2f3af1e12d53 cbab40d4_ac7c_1d5b_bd7b_7bf6059aeaf6["pglite"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> cbab40d4_ac7c_1d5b_bd7b_7bf6059aeaf6 f342d0eb_235d_9841_7ab4_737dee92a538["node-server"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> f342d0eb_235d_9841_7ab4_737dee92a538 45610973_089d_46f8_147a_6b3136d03f87["zod-validator"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 45610973_089d_46f8_147a_6b3136d03f87 591ffa87_509e_0273_b1da_1537e70dd3ef["crypto"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 591ffa87_509e_0273_b1da_1537e70dd3ef 690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"] 82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031 style 82de12f8_a8ca_9d38_8da8_9ac945d81e01 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/// <reference types="@cloudflare/workers-types" />
import type { PGlite } from '@electric-sql/pglite';
import { serve } from '@hono/node-server';
import { zValidator } from '@hono/zod-validator';
import { createHash } from 'crypto';
import { AnyColumn, AnyTable, is } from 'drizzle-orm';
import { AnyMySqlTable, getTableConfig as mysqlTableConfig, MySqlTable } from 'drizzle-orm/mysql-core';
import { AnyPgTable, getTableConfig as pgTableConfig, PgTable } from 'drizzle-orm/pg-core';
import {
createTableRelationsHelpers,
extractTablesRelationalConfig,
Many,
normalizeRelation,
One,
Relations,
TablesRelationalConfig,
} from 'drizzle-orm/relations';
import {
AnySingleStoreTable,
getTableConfig as singlestoreTableConfig,
SingleStoreTable,
} from 'drizzle-orm/singlestore-core';
import { AnySQLiteTable, getTableConfig as sqliteTableConfig, SQLiteTable } from 'drizzle-orm/sqlite-core';
import fs from 'fs';
import { Hono } from 'hono';
import { compress } from 'hono/compress';
import { cors } from 'hono/cors';
import { createServer } from 'node:https';
import { CasingType } from 'src/cli/validations/common';
import { LibSQLCredentials } from 'src/cli/validations/libsql';
import { assertUnreachable } from 'src/global';
import { z } from 'zod';
import { safeRegister } from '../cli/commands/utils';
import type { MysqlCredentials } from '../cli/validations/mysql';
import type { PostgresCredentials } from '../cli/validations/postgres';
import type { SingleStoreCredentials } from '../cli/validations/singlestore';
import type { SqliteCredentials } from '../cli/validations/sqlite';
import type { Proxy, TransactionProxy } from '../utils';
import { prepareFilenames } from '.';
import { getColumnCasing } from './utils';
type CustomDefault = {
schema: string;
table: string;
column: string;
func: () => unknown;
};
type SchemaFile = {
name: string;
content: string;
};
export type Setup = {
dbHash: string;
dialect: 'postgresql' | 'mysql' | 'sqlite' | 'singlestore';
packageName:
| '@aws-sdk/client-rds-data'
| 'pglite'
| 'pg'
// ... (788 more lines)
Domain
Subdomains
Functions
Dependencies
- .
- common
- compress
- cors
- crypto
- drizzle-orm
- fs
- getColumnCasing
- global
- hono
- libsql
- mysql-core
- mysql.ts
- node-server
- node:https
- pg-core
- pglite
- postgres.ts
- relations
- safeRegister
- singlestore-core
- singlestore.ts
- sqlite-core
- sqlite.ts
- utils.ts
- utils.ts
- utils.ts
- zod
- zod-validator
Imported By
Source
Frequently Asked Questions
What does studio.ts do?
studio.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain, SnapshotSerializer subdomain.
What functions are defined in studio.ts?
studio.ts defines 14 function(s): drizzleForLibSQL, drizzleForMySQL, drizzleForPostgres, drizzleForSQLite, drizzleForSingleStore, extractRelations, getCustomDefaults, jsonStringify, params, prepareMySqlSchema, and 4 more.
What does studio.ts depend on?
studio.ts imports 29 module(s): ., common, compress, cors, crypto, drizzle-orm, fs, getColumnCasing, and 21 more.
What files import studio.ts?
studio.ts is imported by 4 file(s): api.ts, connections.ts, schema.ts, utils.ts.
Where is studio.ts in the architecture?
studio.ts is located at drizzle-kit/src/serializer/studio.ts (domain: DrizzleKit, subdomain: SnapshotSerializer, directory: drizzle-kit/src/serializer).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free