graphql-guru-sequelize
v0.0.1
Published
Sequelize database resolver modules for GraphQL Guru
Downloads
12
Maintainers
Readme
GraphQL Guru Sequelize
Sequelize database resolver modules for GraphQL Guru.
It supports the dialects PostgreSQL, MySQL, SQLite and MSSQL
Installation
In a terminal run
npm install graphql-guru-sequelize
In environment.js add the path to the json storage file and optionally add defaults to seed the database on creation.
server/environment.js
database: {
sequelize: {
username: 'username',
databases: 'database',
port: '5432',
dialect: 'sqlite', // one of 'mysql'|'sqlite'|'postgres'|'mssql',
host: 'localhost',
pool: {
max: 5,
min: 0,
idle: 10000
}
},
// SQLite only
storage: 'path/to/sqlite/database'
}
In index-database.js import graphql-guru-sequelize and add it to the database object.
server/core/database/index-database.js
import * as sequelize from 'graphql-guru-sequelize';
export const databases = {
sequelize
};
extend resolverQuery and resolverMutation with SequelizeQuery and SequelizeMutation respectively.
server/modules/resolverQuery.js
import { SequelizeQuery } from 'graphql-guru-sequelize'; export default class People extends SequelizeQuery { }
server/modules/resolverMutation.js
import { SequelizeMutation } from 'graphql-guru-sequelize'; export default class People extends SequelizeMutation { }
Add the methods to your schema files
server/modules/schemaQuery.js
peopleResolve(id: String): People
peopleFindAll(id: String): [People]
peopleFindById(id: String): People
peopleFindManyById(id: [String]): [People]
server/modules/schemaMutation.js
# Add description
peopleCreate(
firstName: String,
lastName: String
): People
# Add description
peopleRemove (
id: String
): People
# Add description
peopleUpdate(
id: String,
firstName: String,
lastName: String
): People
Usage
Once all the installation steps are complete you're go to go.
You can overwrite the methods with your own or add new methods inside the resolvers.
Database methods
For database usage see [sequelizejs.com]http://docs.sequelizejs.com/
License
MIT