Home / Function/ introspectSingleStoreToFile() — drizzle-orm Function Reference

introspectSingleStoreToFile() — drizzle-orm Function Reference

Architecture documentation for the introspectSingleStoreToFile() function in schemaDiffer.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  6fc72161_6179_bd1d_e9f6_797bf0e40c5d["introspectSingleStoreToFile()"]
  2d8c527a_8c3a_90af_4e89_47c43efd31ee["schemaDiffer.ts"]
  6fc72161_6179_bd1d_e9f6_797bf0e40c5d -->|defined in| 2d8c527a_8c3a_90af_4e89_47c43efd31ee
  b2ca9070_8e4d_7bbc_6065_4ba3f959b6ae["applySingleStoreDiffs()"]
  6fc72161_6179_bd1d_e9f6_797bf0e40c5d -->|calls| b2ca9070_8e4d_7bbc_6065_4ba3f959b6ae
  0a619e5a_32b2_263d_0976_1e8cd3177d68["testTablesResolver()"]
  6fc72161_6179_bd1d_e9f6_797bf0e40c5d -->|calls| 0a619e5a_32b2_263d_0976_1e8cd3177d68
  80b64b3a_e5c8_dac8_cb11_52998531f70f["testColumnsResolver()"]
  6fc72161_6179_bd1d_e9f6_797bf0e40c5d -->|calls| 80b64b3a_e5c8_dac8_cb11_52998531f70f
  9ed765bd_09cc_cecc_087e_e572fcdece1d["testViewsResolverSingleStore()"]
  6fc72161_6179_bd1d_e9f6_797bf0e40c5d -->|calls| 9ed765bd_09cc_cecc_087e_e572fcdece1d
  style 6fc72161_6179_bd1d_e9f6_797bf0e40c5d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/tests/schemaDiffer.ts lines 2519–2610

export const introspectSingleStoreToFile = async (
	client: Connection,
	initSchema: SinglestoreSchema,
	testName: string,
	schema: string,
	casing?: CasingType | undefined,
) => {
	// put in db
	const { sqlStatements } = await applySingleStoreDiffs(initSchema, casing);
	for (const st of sqlStatements) {
		await client.query(st);
	}

	// introspect to schema
	const introspectedSchema = await fromSingleStoreDatabase(
		{
			query: async (sql: string, params?: any[] | undefined) => {
				const res = await client.execute(sql, params);
				return res[0] as any;
			},
		},
		schema,
	);

	const file = schemaToTypeScriptSingleStore(introspectedSchema, 'camel');

	fs.writeFileSync(`tests/introspect/singlestore/${testName}.ts`, file.file);

	const response = await prepareFromSingleStoreImports([
		`tests/introspect/singlestore/${testName}.ts`,
	]);

	const afterFileImports = generateSingleStoreSnapshot(
		response.tables,
		/* response.views, */
		casing,
	);

	const { version: v2, dialect: d2, ...rest2 } = afterFileImports;

	const sch2 = {
		version: '1',
		dialect: 'singlestore',
		id: '0',
		prevId: '0',
		...rest2,
	} as const;

	const sn2AfterIm = squashSingleStoreScheme(sch2);
	const validatedCurAfterImport = singlestoreSchema.parse(sch2);

	const leftTables = Object.values(initSchema).filter((it) => is(it, SingleStoreTable)) as SingleStoreTable[];

	const initSnapshot = generateSingleStoreSnapshot(
		leftTables,
		/* response.views, */
		casing,
	);

	const { version: initV, dialect: initD, ...initRest } = initSnapshot;

	const initSch = {
		version: '1',
		dialect: 'singlestore',
		id: '0',
		prevId: '0',
		...initRest,
	} as const;

	const initSn = squashSingleStoreScheme(initSch);
	const validatedCur = singlestoreSchema.parse(initSch);

	const {
		sqlStatements: afterFileSqlStatements,
		statements: afterFileStatements,
	} = await applySingleStoreSnapshotsDiff(
		sn2AfterIm,
		initSn,
		testTablesResolver(new Set()),
		testColumnsResolver(new Set()),
		/* testViewsResolverSingleStore(new Set()), */

Domain

Subdomains

Frequently Asked Questions

What does introspectSingleStoreToFile() do?
introspectSingleStoreToFile() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is introspectSingleStoreToFile() defined?
introspectSingleStoreToFile() is defined in drizzle-kit/tests/schemaDiffer.ts at line 2519.
What does introspectSingleStoreToFile() call?
introspectSingleStoreToFile() calls 4 function(s): applySingleStoreDiffs, testColumnsResolver, testTablesResolver, testViewsResolverSingleStore.

Analyze Your Own Codebase

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

Try Supermodel Free