knex-on-duplicate-update
v2.3.3
Published
Simple patcher for Knex. It adds the .onDuplicateUpdate() function to knex's query builder.
Downloads
2,032
Maintainers
Readme
Knex-onDuplicateUpdate
Simple patcher for Knex. It adds the .onDuplicateUpdate() function to knex's query builder in order to add support MySQL's on duplicate key update columnName=Values(columnName)
.
Note
Knex
(v0.21.10) added an official upsert
functionality with similar capabilities which supports MySQL, Postgress & SQLite.
How to set up
To use this lib, first you will have to install it:
npm i knex-on-duplicate-update --save
or
yarn add knex-on-duplicate-update
Then, add the following lines to your Knex set up:
const knex = require('knex')(config);
const {attachOnDuplicateUpdate} = require('knex-on-duplicate-update');
attachOnDuplicateUpdate();
Function definition
onDuplicateUpdate(...columns: Array<{[key: string]: string} | string>): Knex.QueryBuilder
How to use
Example
await knex.insert({id: 1, name: 'John', email: '[email protected]'})
.into('persons')
.onDuplicateUpdate('name', 'email');
Setting a fallback value for a column
await knex.insert({id: 1, name: 'John', email: '[email protected]'})
.into('persons')
.onDuplicateUpdate('name', {email: '[email protected]'});
This lib got inspiration from knex-paginator
.