postgraphile-upsert-plugin
TypeScript icon, indicating that this package has built-in type declarations

3.3.0 • Public • Published

postgraphile-upsert-plugin

Add postgres upsert mutations to postgraphile.

semantic-release main

Getting Started

Install

pnpm install --save postgraphile-upsert-plugin

CLI

postgraphile --append-plugins postgraphile-upsert-plugin:PgMutationUpsertPlugin

See here for more information about loading plugins with PostGraphile.

Library

import express from "express";
import { postgraphile } from "postgraphile";
import PgMutationUpsertPlugin from "postgraphile-upsert-plugin";

const app = express();

app.use(
  postgraphile(pgConfig, schema, {
    appendPlugins: [PgMutationUpsertPlugin],
  })
);

app.listen(5000);

Usage

This plugin supports an optional where clause in your upsert<Table> mutation. Supports multi-column unique indexes.

Example

create table bikes (
  id serial primary key,
  make varchar,
  model varchar
  serial_number varchar unique not null,
  weight real
)

A basic upsert would look like this:

mutation {
  upsertBike(
    where: { serial_number: "abc123" }
    input: {
      bike: {
        make: "kona"
        model: "kula deluxe"
        serial_number: "abc123"
        weight: 25.6
      }
    }
  ) {
    clientMutationId
  }
}

Smart Tags Support

  • Add @omit updateOnConflict to column comments to prevent them from being modified on existing rows in an upsert mutation.

Contributing

See CONTRIBUTING.md.

Credits

Package Sidebar

Install

npm i postgraphile-upsert-plugin

Weekly Downloads

1,383

Version

3.3.0

License

MIT

Unpacked Size

25.3 kB

Total Files

6

Last publish

Collaborators

  • cdaringe
  • fullstackio
  • wa11-e