diff --git a/graphene-sqlalchemy/examples/flask_sqlalchemy/app.py b/graphene-sqlalchemy/examples/flask_sqlalchemy/app.py index afec4911..93626d62 100644 --- a/graphene-sqlalchemy/examples/flask_sqlalchemy/app.py +++ b/graphene-sqlalchemy/examples/flask_sqlalchemy/app.py @@ -1,7 +1,7 @@ from flask import Flask from database import db_session, init_db -from flask_graphql import GraphQL +from flask_graphql import GraphQLView from schema import schema app = Flask(__name__) @@ -27,7 +27,8 @@ default_query = ''' } }'''.strip() -GraphQL(app, schema=schema, default_query=default_query) + +app.add_url_rule('/graphql', view_func=GraphQLView.as_view('graphql', schema=schema, graphiql=True)) @app.teardown_appcontext diff --git a/graphene-sqlalchemy/examples/flask_sqlalchemy/schema.py b/graphene-sqlalchemy/examples/flask_sqlalchemy/schema.py index e880cd59..b9cf38fb 100644 --- a/graphene-sqlalchemy/examples/flask_sqlalchemy/schema.py +++ b/graphene-sqlalchemy/examples/flask_sqlalchemy/schema.py @@ -1,40 +1,36 @@ import graphene from graphene import relay -from graphene.contrib.sqlalchemy import (SQLAlchemyConnectionField, - SQLAlchemyNode) +from graphene_sqlalchemy import (SQLAlchemyConnectionField, + SQLAlchemyObjectType, + SQLAlchemyNode) from models import Department as DepartmentModel from models import Employee as EmployeeModel from models import Role as RoleModel -schema = graphene.Schema() - -@schema.register -class Department(SQLAlchemyNode): +class Department(SQLAlchemyNode, SQLAlchemyObjectType): class Meta: model = DepartmentModel -@schema.register -class Employee(SQLAlchemyNode): +class Employee(SQLAlchemyNode, SQLAlchemyObjectType): class Meta: model = EmployeeModel -@schema.register -class Role(SQLAlchemyNode): +class Role(SQLAlchemyNode, SQLAlchemyObjectType): class Meta: model = RoleModel - identifier = 'role_id' class Query(graphene.ObjectType): - node = relay.NodeField(Employee) + node = SQLAlchemyNode.Field() all_employees = SQLAlchemyConnectionField(Employee) all_roles = SQLAlchemyConnectionField(Role) - role = relay.NodeField(Role) + role = graphene.Field(Role) -schema.query = Query + +schema = graphene.Schema(query=Query, types=[Department, Employee, Role])