Skip to content
KeystoneJS LogoKeystoneJS

Prisma Adapter - Production Ready Checklist

The Prisma adapter is currently in not yet production ready. This document outlines the aspects of the adapter which we believe still need improvement before the adapter should be used in production system.

Tip: Looking for how to get started with Keystone + Prisma? Follow the guide!

Database Support

The Prisma adapter currently only supports PostgreSQL databases. Future releases will enable support for all database backends which are supported by Prisma.

Migrations

Prisma Migrate is currently considered experimental. The Prisma adapter will not be considered production ready until Prisma Migrate is also production ready.

Field types

The Prisma adapter currently has either full or partial support for almost all Keystone field types. We would like to have full support for all Keystone field types, and are working on the adapter itself as well as with the Prisma team to address the remaining issues.

Unsupported field types

  • Decimal: The Decimal field type requires the use of a native type at the database level which is not currently supported by Prisma. See Prisma:#3374 and Prisma:#3579.

Partially supported field types

  • File, CloudinaryImage, GoogleLocation, OEmbed, Unsplash: These field types use the Prisma Json type. These field types do not currently support filtering against null. See Prisma:#3579.
  • Password: The password_is_set query does not perform a test to check is the stored value is a valid hash, as Prisma does not currently support regex filtering.
  • Uuid: We do not yet support using Uuid as a primaryKey field, but it can be used as a non-primary key field.

Keystone - Prisma field type mapping

Keystone TypePrisma Type
Core fields
CalendarDayDateTime
CheckboxBoolean
DateTimeDateTime + String
DateTimeUtcDateTime
DecimalN/A
FileJson
FloatFloat
IntegerInt
PasswordString
Relationship@relation
SelectEnum | Int | String
SlugString
TextString
UrlString
UuidString
VirtualN/A
Extra fields
ColorString
Content@relation
AuthedRelationship@relation
AutoIncrementInt
CloudinaryImageJson
GoogleLocationJson
MarkdownString
MongoIdString
OEmbedJson
UnsplashJson
WysiwygString

On this page

Edit on GitHub