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

buildUpdateSet() — drizzle-orm Function Reference

Architecture documentation for the buildUpdateSet() function in dialect.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  c6198a58_c2ac_3eb3_3e9d_7a26c6ff0e76["buildUpdateSet()"]
  9c5eee4c_4b78_a585_4038_d710de212097["MySqlDialect"]
  c6198a58_c2ac_3eb3_3e9d_7a26c6ff0e76 -->|defined in| 9c5eee4c_4b78_a585_4038_d710de212097
  8f9fa658_edb5_f102_51bb_be11ee53973b["buildUpdateQuery()"]
  8f9fa658_edb5_f102_51bb_be11ee53973b -->|calls| c6198a58_c2ac_3eb3_3e9d_7a26c6ff0e76
  style c6198a58_c2ac_3eb3_3e9d_7a26c6ff0e76 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/mysql-core/dialect.ts lines 136–156

	buildUpdateSet(table: MySqlTable, set: UpdateSet): SQL {
		const tableColumns = table[Table.Symbol.Columns];

		const columnNames = Object.keys(tableColumns).filter((colName) =>
			set[colName] !== undefined || tableColumns[colName]?.onUpdateFn !== undefined
		);

		const setSize = columnNames.length;
		return sql.join(columnNames.flatMap((colName, i) => {
			const col = tableColumns[colName]!;

			const onUpdateFnResult = col.onUpdateFn?.();
			const value = set[colName] ?? (is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col));
			const res = sql`${sql.identifier(this.casing.getColumnCasing(col))} = ${value}`;

			if (i < setSize - 1) {
				return [res, sql.raw(', ')];
			}
			return [res];
		}));
	}

Domain

Subdomains

Called By

Frequently Asked Questions

What does buildUpdateSet() do?
buildUpdateSet() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/dialect.ts.
Where is buildUpdateSet() defined?
buildUpdateSet() is defined in drizzle-orm/src/mysql-core/dialect.ts at line 136.
What calls buildUpdateSet()?
buildUpdateSet() is called by 1 function(s): buildUpdateQuery.

Analyze Your Own Codebase

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

Try Supermodel Free