See my Adonisql-spdr repo for the older Adonis v4 example. Adonis.js made a disruptive change to Typescript, breaking any v4 examples you might find.
This is a simple example of a Careers site, where an email key posts a description. Current v0.3 is stable, but awaits upgrade of Adonis testing library
- nodejs >= v14.x LTS
- sqlite or other database
Use the adonis command to install the blueprint
git clone https://github.com/bingalls/adonisql.git
cd adonisql
npm install
cp .env.example .env
node ace key:generate #copy generated key into .env
npm run start
open http://127.0.0.1:3333/graphiql
# OSX; Linux: xdg-open
In the left graphiql window, try these example graphql statements
- QUERY:
{careers{email, description}}
{career{email, description}}
# first listing, onlymutation{ createCareer(email: "[email protected]", description: "job description") }
Sqlite is the default database for development. Create empty database & grant permissions. Edit database configuration in .env Note that env.ts type-checks your .env
Run the following command to run startup migrations.
cd adonisql
node ace invoke @adonisjs/lucid # select your database driver
node ace build
If the following commands are available, run them. This section is impacted by Adonis v5 coming out of RC status.
node ace migration:run
node ace db:seed
Currently, this serves a simplistic example API for a job posting site, where each posting has an email address & description. Change this to your need, by editing
- app/data/schema.ts
- app/data/resolvers.ts After changing the name of your schema from Careers, update
- app/Models/Career.ts
- start/routes.ts
It might be necessary to disable CSRF in config/shield.js to allow the /graphiql development tool (i.e. route). Re-enable CSRF for production
Production v1 awaits configuring Adonisjs v5 Japa unit tests.
I had difficulties with these Apollo v5 service provider plugins. Perhaps they are easier now: