README
Prisma database adapter
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.