Nucleus Powered Mitochondria

    knex-on-duplicate-update
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.2 • Public • Published

    Knex-onDuplicateUpdate

    npm CircleCI

    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 has support in 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: 'john@mail.com'})
        .into('persons')
        .onDuplicateUpdate('name', 'email');

    Setting a fallback value for a column

    await knex.insert({id: 1, name: 'John', email: 'john@mail.com'})
        .into('persons')
        .onDuplicateUpdate('name', {email: 'john-exists@mail.com'});

    This lib got inspiration from knex-paginator.

    Install

    npm i knex-on-duplicate-update

    DownloadsWeekly Downloads

    1,463

    Version

    2.1.2

    License

    ISC

    Unpacked Size

    6.17 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar