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

prepareAddCompositePrimaryKeyMySql() — drizzle-orm Function Reference

Architecture documentation for the prepareAddCompositePrimaryKeyMySql() function in jsonStatements.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  b615e0de_0c3a_d123_ec06_42299cf64afc["prepareAddCompositePrimaryKeyMySql()"]
  6139f734_8ada_c641_9fec_9a55cfdf376f["jsonStatements.ts"]
  b615e0de_0c3a_d123_ec06_42299cf64afc -->|defined in| 6139f734_8ada_c641_9fec_9a55cfdf376f
  a5972ffc_ff1b_9523_2495_5373af710e65["applyMysqlSnapshotsDiff()"]
  a5972ffc_ff1b_9523_2495_5373af710e65 -->|calls| b615e0de_0c3a_d123_ec06_42299cf64afc
  style b615e0de_0c3a_d123_ec06_42299cf64afc fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/jsonStatements.ts lines 3298–3324

export const prepareAddCompositePrimaryKeyMySql = (
	tableName: string,
	pks: Record<string, string>,
	// TODO: remove?
	json1: MySqlSchema,
	json2: MySqlSchema,
): JsonCreateCompositePK[] => {
	const res: JsonCreateCompositePK[] = [];
	for (const it of Object.values(pks)) {
		const unsquashed = MySqlSquasher.unsquashPK(it);

		if (
			unsquashed.columns.length === 1
			&& json1.tables[tableName]?.columns[unsquashed.columns[0]]?.primaryKey
		) {
			continue;
		}

		res.push({
			type: 'create_composite_pk',
			tableName,
			data: it,
			constraintName: unsquashed.name,
		} as JsonCreateCompositePK);
	}
	return res;
};

Domain

Subdomains

Frequently Asked Questions

What does prepareAddCompositePrimaryKeyMySql() do?
prepareAddCompositePrimaryKeyMySql() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/jsonStatements.ts.
Where is prepareAddCompositePrimaryKeyMySql() defined?
prepareAddCompositePrimaryKeyMySql() is defined in drizzle-kit/src/jsonStatements.ts at line 3298.
What calls prepareAddCompositePrimaryKeyMySql()?
prepareAddCompositePrimaryKeyMySql() is called by 1 function(s): applyMysqlSnapshotsDiff.

Analyze Your Own Codebase

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

Try Supermodel Free