@keystone-next/adapter-prisma-legacydeprecated

KeystoneJS Prisma Database Adapter

Usage no npm install needed!

<script type="module">
  import keystoneNextAdapterPrismaLegacy from 'https://cdn.skypack.dev/@keystone-next/adapter-prisma-legacy';
</script>

README

Prisma database adapter

View changelog

The Prisma adapter allows Keystone to connect a database using Prisma Client, a type-safe and auto-generated database client. You can learn more about Prisma Client in the Prisma docs.

Tip: Want to get started with Keystone + Prisma? Follow the guide!

Warning: The Keystone Prisma adapter is not currently production-ready. It depends on the Prisma Migrate system which is currently flagged as Preview. Once Prisma Migrate is out of preview mode, we will release a production-ready version of this package.

Note: This adapter currently only supports PostgreSQL databases, and has other limitations. For more details, see our Prisma Adapter - Production Ready Checklist

Usage

const { PrismaAdapter } = require('@keystone-next/adapter-prisma-legacy');

const keystone = new Keystone({
  adapter: new PrismaAdapter({ url: 'postgres://...' }),
});

Config

url

Default: DATABASE_URL

The connection string for your database, in the form postgres://<user>:<password>@<host>:<port>/<dbname>. By default it will use the value of the environment variable DATABASE_URL. You can learn more about the connection string format used in the Prisma docs.

enableLogging

Default: false

Enables logging at the query level in the Prisma client.

Setup

Before running Keystone with the Prisma adapter you will need to have a PostgreSQL database to connect to.

If you already have a database then you can use its connection string in the url config option. If you don't have a database already then you can create one locally with the following commands.

createdb -U postgres keystone
psql keystone -U postgres -c "CREATE USER keystone5 PASSWORD 'change_me_plz'"
psql keystone -U postgres -c "GRANT ALL ON DATABASE keystone TO keystone5;"

If using the above, you will want to set a connection string of:

const keystone = new Keystone({
  adapter: new PrismaAdapter({ url: `postgres://keystone5:change_me_plz@localhost:5432/keystone` }),
});

See the adapters setup guide for more details on how to setup a database.