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

diffTestSchemasPushSingleStore() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

drizzle-kit/tests/schemaDiffer.ts lines 1625–1763

export const diffTestSchemasPushSingleStore = async (
	client: Connection,
	left: SinglestoreSchema,
	right: SinglestoreSchema,
	renamesArr: string[],
	schema: string,
	cli: boolean = false,
	casing?: CasingType | undefined,
	sqlStatementsToRun: {
		before?: string[];
		after?: string[];
		runApply?: boolean;
	} = {
		before: [],
		after: [],
		runApply: true,
	},
) => {
	const shouldRunApply = sqlStatementsToRun.runApply === undefined
		? true
		: sqlStatementsToRun.runApply;

	for (const st of sqlStatementsToRun.before ?? []) {
		await client.query(st);
	}

	if (shouldRunApply) {
		const res = await applySingleStoreDiffs(left, casing);
		for (const st of res.sqlStatements) {
			await client.query(st);
		}
	}

	for (const st of sqlStatementsToRun.after ?? []) {
		await client.query(st);
	}

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

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

	/* const leftViews = Object.values(right).filter((it) => is(it, SingleStoreView)) as SingleStoreView[]; */

	const serialized2 = generateSingleStoreSnapshot(
		leftTables,
		/* leftViews, */
		casing,
	);

	const { version: v1, dialect: d1, ...rest1 } = introspectedSchema;
	const { version: v2, dialect: d2, ...rest2 } = serialized2;

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

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

	const sn1 = squashSingleStoreScheme(sch1);
	const sn2 = squashSingleStoreScheme(sch2);

	const validatedPrev = singlestoreSchema.parse(sch1);

Domain

Subdomains

Frequently Asked Questions

What does diffTestSchemasPushSingleStore() do?
diffTestSchemasPushSingleStore() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is diffTestSchemasPushSingleStore() defined?
diffTestSchemasPushSingleStore() is defined in drizzle-kit/tests/schemaDiffer.ts at line 1625.
What does diffTestSchemasPushSingleStore() call?
diffTestSchemasPushSingleStore() 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