introspect-sqlite.ts — drizzle-orm Source File
Architecture documentation for introspect-sqlite.ts, a typescript file in the drizzle-orm codebase. 8 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR c1c349dd_2e31_d056_728c_c034cebb41c0["introspect-sqlite.ts"] 036f4e7e_88ec_1167_0cc5_711786d91440["utils.ts"] c1c349dd_2e31_d056_728c_c034cebb41c0 --> 036f4e7e_88ec_1167_0cc5_711786d91440 9135e6b6_37f7_c980_ee35_90f5531de5a4["common.ts"] c1c349dd_2e31_d056_728c_c034cebb41c0 --> 9135e6b6_37f7_c980_ee35_90f5531de5a4 8f03c4cf_4fdf_b056_3b24_d493cab0cc81["global.ts"] c1c349dd_2e31_d056_728c_c034cebb41c0 --> 8f03c4cf_4fdf_b056_3b24_d493cab0cc81 071bfc71_ad06_c0c4_cba2_360298dd4b47["assertUnreachable"] c1c349dd_2e31_d056_728c_c034cebb41c0 --> 071bfc71_ad06_c0c4_cba2_360298dd4b47 f2ee16c1_40e6_43f3_15b2_c391a3ac170b["mysqlSchema.ts"] c1c349dd_2e31_d056_728c_c034cebb41c0 --> f2ee16c1_40e6_43f3_15b2_c391a3ac170b db1af279_1679_84af_1e53_0bb821c5aa1e["CheckConstraint"] c1c349dd_2e31_d056_728c_c034cebb41c0 --> db1af279_1679_84af_1e53_0bb821c5aa1e 03c276d3_0efe_66e2_9ba9_e67edbf29418["sqliteSchema.ts"] c1c349dd_2e31_d056_728c_c034cebb41c0 --> 03c276d3_0efe_66e2_9ba9_e67edbf29418 2b7d63c9_9828_8abd_ad6d_064a9cc83dd1["casing"] c1c349dd_2e31_d056_728c_c034cebb41c0 --> 2b7d63c9_9828_8abd_ad6d_064a9cc83dd1 c2c22050_0d5c_404e_2b18_5934c728a89c["introspect.ts"] c2c22050_0d5c_404e_2b18_5934c728a89c --> c1c349dd_2e31_d056_728c_c034cebb41c0 cea479b5_7704_0339_de4e_3cc844834ec0["sqliteIntrospect.ts"] cea479b5_7704_0339_de4e_3cc844834ec0 --> c1c349dd_2e31_d056_728c_c034cebb41c0 style c1c349dd_2e31_d056_728c_c034cebb41c0 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/* eslint-disable @typescript-eslint/no-unsafe-argument */
import { toCamelCase } from 'drizzle-orm/casing';
import './@types/utils';
import type { Casing } from './cli/validations/common';
import { assertUnreachable } from './global';
import { CheckConstraint } from './serializer/mysqlSchema';
import type {
Column,
ForeignKey,
Index,
PrimaryKey,
SQLiteSchema,
SQLiteSchemaInternal,
UniqueConstraint,
} from './serializer/sqliteSchema';
const sqliteImportsList = new Set([
'sqliteTable',
'integer',
'real',
'text',
'numeric',
'blob',
]);
export const indexName = (tableName: string, columns: string[]) => {
return `${tableName}_${columns.join('_')}_index`;
};
const objToStatement2 = (json: any) => {
json = Object.fromEntries(Object.entries(json).filter((it) => it[1]));
const keys = Object.keys(json);
if (keys.length === 0) return;
let statement = '{ ';
statement += keys.map((it) => `${it}: "${json[it]}"`).join(', '); // no "" for keys
statement += ' }';
return statement;
};
const relations = new Set<string>();
const escapeColumnKey = (value: string) => {
if (/^(?![a-zA-Z_$][a-zA-Z0-9_$]*$).+$/.test(value)) {
return `"${value}"`;
}
return value;
};
const withCasing = (value: string, casing?: Casing) => {
if (casing === 'preserve') {
return escapeColumnKey(value);
}
if (casing === 'camel') {
return escapeColumnKey(value.camelCase());
}
return value;
};
// ... (474 more lines)
Domain
Subdomains
Functions
Dependencies
Imported By
Source
Frequently Asked Questions
What does introspect-sqlite.ts do?
introspect-sqlite.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain, SchemaDiffer subdomain.
What functions are defined in introspect-sqlite.ts?
introspect-sqlite.ts defines 16 function(s): column, createTableChecks, createTableColumns, createTableFKs, createTableIndexes, createTablePKs, createTableUniques, dbColumnName, escapeColumnKey, indexName, and 6 more.
What does introspect-sqlite.ts depend on?
introspect-sqlite.ts imports 8 module(s): CheckConstraint, assertUnreachable, casing, common.ts, global.ts, mysqlSchema.ts, sqliteSchema.ts, utils.ts.
What files import introspect-sqlite.ts?
introspect-sqlite.ts is imported by 2 file(s): introspect.ts, sqliteIntrospect.ts.
Where is introspect-sqlite.ts in the architecture?
introspect-sqlite.ts is located at drizzle-kit/src/introspect-sqlite.ts (domain: DrizzleKit, subdomain: SchemaDiffer, directory: drizzle-kit/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free