graphql-sequelize-crud
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. ![]() 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
- Generated GraphQL API only from Sequelize Models defintitions
- Relay compatiable GraphQL API
- Generate Queries
- READ single
- READ all
- Generate Mutations
- CREATE
- UPDATE
- DELETE
- Custom queries and mutations within Sequelize Models defitions