introspectSQLiteToFile() — drizzle-orm Function Reference
Architecture documentation for the introspectSQLiteToFile() function in schemaDiffer.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD f80fdfdf_e892_8d61_803f_096dd9e493c9["introspectSQLiteToFile()"] fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"] f80fdfdf_e892_8d61_803f_096dd9e493c9 -->|defined in| fb6b4a65_030b_ce6b_df0d_2be21adcd2b3 0edb9fbe_a5ec_9995_347a_9ea655353950["applySqliteDiffs()"] f80fdfdf_e892_8d61_803f_096dd9e493c9 -->|calls| 0edb9fbe_a5ec_9995_347a_9ea655353950 fd1b2256_62ed_ec7e_c677_9d8cbf56136b["testTablesResolver()"] f80fdfdf_e892_8d61_803f_096dd9e493c9 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b 96edd91d_9f30_fc37_cbd3_7c1229315b14["testColumnsResolver()"] f80fdfdf_e892_8d61_803f_096dd9e493c9 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14 ca971472_1126_152f_0fc8_502996a52ea8["testViewsResolverSqlite()"] f80fdfdf_e892_8d61_803f_096dd9e493c9 -->|calls| ca971472_1126_152f_0fc8_502996a52ea8 style f80fdfdf_e892_8d61_803f_096dd9e493c9 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/tests/schemaDiffer.ts lines 2612–2697
export const introspectSQLiteToFile = async (
client: Database,
initSchema: SqliteSchema,
testName: string,
casing?: CasingType | undefined,
) => {
// put in db
const { sqlStatements } = await applySqliteDiffs(initSchema);
for (const st of sqlStatements) {
client.exec(st);
}
// introspect to schema
const introspectedSchema = await fromSqliteDatabase(
{
query: async <T>(sql: string, params: any[] = []) => {
return client.prepare(sql).bind(params).all() as T[];
},
run: async (query: string) => {
client.prepare(query).run();
},
},
undefined,
);
const { version: initV, dialect: initD, ...initRest } = introspectedSchema;
const initSch = {
version: '6',
dialect: 'sqlite',
id: '0',
prevId: '0',
...initRest,
} as const;
const initSn = squashSqliteScheme(initSch);
const validatedCur = sqliteSchema.parse(initSch);
const file = schemaToTypeScriptSQLite(introspectedSchema, 'camel');
fs.writeFileSync(`tests/introspect/sqlite/${testName}.ts`, file.file);
const response = await prepareFromSqliteImports([
`tests/introspect/sqlite/${testName}.ts`,
]);
const afterFileImports = generateSqliteSnapshot(
response.tables,
response.views,
casing,
);
const { version: v2, dialect: d2, ...rest2 } = afterFileImports;
const sch2 = {
version: '6',
dialect: 'sqlite',
id: '0',
prevId: '0',
...rest2,
} as const;
const sn2AfterIm = squashSqliteScheme(sch2);
const validatedCurAfterImport = sqliteSchema.parse(sch2);
const {
sqlStatements: afterFileSqlStatements,
statements: afterFileStatements,
} = await applySqliteSnapshotsDiff(
sn2AfterIm,
initSn,
testTablesResolver(new Set()),
testColumnsResolver(new Set()),
testViewsResolverSqlite(new Set()),
validatedCurAfterImport,
validatedCur,
);
fs.rmSync(`tests/introspect/sqlite/${testName}.ts`);
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does introspectSQLiteToFile() do?
introspectSQLiteToFile() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is introspectSQLiteToFile() defined?
introspectSQLiteToFile() is defined in drizzle-kit/tests/schemaDiffer.ts at line 2612.
What does introspectSQLiteToFile() call?
introspectSQLiteToFile() calls 4 function(s): applySqliteDiffs, testColumnsResolver, testTablesResolver, testViewsResolverSqlite.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free