@weston/graphql-sequelize-crud

0.2.1 • Public • Published

graphql-sequelize-crud

NPM NPM

Build Status

Automatically generate queries and mutations from Sequelize models


Demo
See demo/index.js for demo source code.
The following is automatically generated from a simple Sequelize schema. graph Generated using graphql-viz.

Installation

# Install Peer Dependencies
npm install --save graphql graphql-relay graphql-sequelize sequelize
# Install GraphQL-Sequelize-CRUD
npm install --save graphql-sequelize-crud

Usage

See demo/index.js for demo source code.

// Project Dependencies.
const Sequelize = require('sequelize');
const { getSchema } = require('graphql-sequelize-crud');

// Optional: Use express-graphql.
const express = require('express');
const graphqlHTTP = require('express-graphql');
const app = express();

// Create Sequelize instance.
const sequelize = new Sequelize(/* configure Sequelize */);

// Define Sequelize models.
// See demo source code.
// ...

// Generate GraphQL Schema from Sequelize instance and models.
const schema = getSchema(sequelize);

// Optional: Create express-graphql server.
app.use('/graphql', graphqlHTTP({
  schema: schema,
  graphiql: true
}));
const port = 3000;
app.listen(port, () => {
  console.log(`Listening on port ${port}`);
});

Why

  • Less error prone development. No more keeping GraphQL in sync with Database fields.
  • Don't Repeat Yourself.
  • Power of GraphQL and Relay with rapid database development of Sequelize

Features

  • [x] Generated GraphQL API only from Sequelize Models defintitions
    • [x] Relay compatiable GraphQL API
  • [x] Generate Queries
    • [x] READ single
    • [x] READ all
  • [x] Generate Mutations
    • [x] CREATE
    • [x] UPDATE
    • [x] DELETE
  • [x] Custom queries and mutations within Sequelize Models defitions

Package Sidebar

Install

npm i @weston/graphql-sequelize-crud

Weekly Downloads

1

Version

0.2.1

License

MIT

Last publish

Collaborators

  • weston