-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Closed
Closed
Copy link
Labels
Description
Issue description
Saving an entity results in error if only columns with update: false are changed.
Expected Behavior
Ignore changes for update: false columns and no update action occurs.
(Of course, not to throw anything)
Actual Behavior
Throws the following error:
/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/node_modules/src/query-builder/UpdateQueryBuilder.ts:681
throw new UpdateValuesMissingError()
^
UpdateValuesMissingError: Cannot perform update query because update values are not defined. Call "qb.set(...)" method to specify updated values.
at UpdateQueryBuilder.createUpdateExpression (/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/node_modules/src/query-builder/UpdateQueryBuilder.ts:681:19)
at UpdateQueryBuilder.getQuery (/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/node_modules/src/query-builder/UpdateQueryBuilder.ts:53:21)
at UpdateQueryBuilder.getQueryAndParameters (/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/node_modules/src/query-builder/QueryBuilder.ts:507:28)
at UpdateQueryBuilder.execute (/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/node_modules/src/query-builder/UpdateQueryBuilder.ts:142:50)
at updateSubject (/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/node_modules/src/persistence/SubjectExecutor.ts:617:63)
at Array.map (<anonymous>)
at SubjectExecutor.executeUpdateOperations (/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/node_modules/src/persistence/SubjectExecutor.ts:669:34)
at SubjectExecutor.execute (/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/node_modules/src/persistence/SubjectExecutor.ts:148:20)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at async EntityPersistExecutor.execute (/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)
at async main (/Users/xxxxx/WorkDir/poc/typeorm-save-update-false/index.ts:50:3)
Steps to reproduce
- Clone this repository https://github.com/grainrigi/typeorm-save-update-false/tree/main
- npm install
- docker compose up -d
- npm run migrate:run
- npm run start
node.js and docker installation is required.
My Environment
| Dependency | Version |
|---|---|
| Operating System | MacOS X Ventura 13.5 |
| Node.js version | 18.15.0 |
| Typescript version | 5.1.6 |
| TypeORM version | 0.3.17 |
Additional Context
No response
Relevant Database Driver(s)
- aurora-mysql
- aurora-postgres
- better-sqlite3
- cockroachdb
- cordova
- expo
- mongodb
- mysql
- nativescript
- oracle
- postgres
- react-native
- sap
- spanner
- sqlite
- sqlite-abstract
- sqljs
- sqlserver
Are you willing to resolve this issue by submitting a Pull Request?
Yes, I have the time, and I know how to start.