No description, website, or topics provided.
Branch: master
Clone or download
Pull request Compare This branch is 9 commits ahead, 11 commits behind cdaringe:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.vscode
src
.gitignore
.nvmrc
Makefile
package.json
readme.md
tsconfig.json
yarn.lock

readme.md

postgraphile-upsert-plugin

Add postgres upsert mutations to postgraphile.

JavaScript Style Guide semantic-release Greenkeeper badge CircleCI

Getting Started

Install

yarn add @fullstackio/postgraphile-upsert-plugin

CLI

postgraphile --append-plugins @fullstackio/postgraphile-upsert-plugin:PgMutationUpsertPlugin

See here for more information about loading plugins with PostGraphile.

Library

const express = require("express");
const { postgraphile } = require("postgraphile");
const {
  PgMutationUpsertPlugin
} = require("@fullstackio/postgraphile-upsert-plugin");

const app = express();

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

app.listen(5000);

Usage

This plugin creates an addition operation to upsert<Table> using a where clause, which is any unique constraint on the table. Supports multi-column unique indexes.

Example

create table bikes (
  id serial PRIMARY KEY,
  "serialNumber" varchar UNIQUE NOT NULL,
  weight real,
  make varchar,
  model varchar
)

An upsert would look like this:

mutation {
  upsertBike(
    where: { serialNumber: "abc123" }
    input: {
      bike: {
        serialNumber: "abc123"
        weight: 25.6
        make: "kona"
        model: "cool-ie deluxe"
      }
    }
  ) {
    clientMutationId
  }
}

Credits