2016-09-21 08:30:36 +03:00
|
|
|
Introspection Schema
|
|
|
|
====================
|
|
|
|
|
|
|
|
Relay uses `Babel Relay
|
|
|
|
Plugin <https://facebook.github.io/relay/docs/guides-babel-plugin.html>`__
|
|
|
|
that requires you to provide your GraphQL schema data.
|
|
|
|
|
2019-04-26 18:48:37 +03:00
|
|
|
Graphene comes with a Django management command to dump your schema
|
|
|
|
data to ``schema.json`` which is compatible with babel-relay-plugin.
|
2016-09-21 08:30:36 +03:00
|
|
|
|
|
|
|
Usage
|
|
|
|
-----
|
|
|
|
|
2019-03-31 13:30:29 +03:00
|
|
|
Include ``graphene_django`` to ``INSTALLED_APPS`` in your project
|
2016-09-21 08:30:36 +03:00
|
|
|
settings:
|
|
|
|
|
|
|
|
.. code:: python
|
|
|
|
|
|
|
|
INSTALLED_APPS += ('graphene_django')
|
|
|
|
|
|
|
|
Assuming your Graphene schema is at ``tutorial.quickstart.schema``, run
|
|
|
|
the command:
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
./manage.py graphql_schema --schema tutorial.quickstart.schema --out schema.json
|
|
|
|
|
|
|
|
It dumps your full introspection schema to ``schema.json`` inside your
|
|
|
|
project root directory. Point ``babel-relay-plugin`` to this file and
|
|
|
|
you're ready to use Relay with Graphene GraphQL implementation.
|
|
|
|
|
2019-03-31 13:30:29 +03:00
|
|
|
The schema file is sorted to create a reproducible canonical representation.
|
|
|
|
|
2016-09-21 08:30:36 +03:00
|
|
|
Advanced Usage
|
|
|
|
--------------
|
|
|
|
|
2016-09-25 14:11:01 +03:00
|
|
|
The ``--indent`` option can be used to specify the number of indentation spaces to
|
|
|
|
be used in the output. Defaults to `None` which displays all data on a single line.
|
|
|
|
|
2016-09-21 08:30:36 +03:00
|
|
|
To simplify the command to ``./manage.py graphql_schema``, you can
|
|
|
|
specify the parameters in your settings.py:
|
|
|
|
|
|
|
|
.. code:: python
|
|
|
|
|
|
|
|
GRAPHENE = {
|
|
|
|
'SCHEMA': 'tutorial.quickstart.schema',
|
|
|
|
'SCHEMA_OUTPUT': 'data/schema.json' # defaults to schema.json
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Running ``./manage.py graphql_schema`` dumps your schema to
|
|
|
|
``<project root>/data/schema.json``.
|
|
|
|
|
|
|
|
Help
|
|
|
|
----
|
|
|
|
|
|
|
|
Run ``./manage.py graphql_schema -h`` for command usage.
|