Website • Docs • Blog • Forum • Slack • Twitter
Prisma - turn your database into a GraphQL API. Prisma lets you design your data model and have a production ready GraphQL API online in minutes.
The Prisma GraphQL API provides powerful abstractions and building blocks to develop flexible, scalable GraphQL backends:
- Type-safe API that can be used from frontend and backend, including filters, aggregations and transactions.
- Data modeling with declarative SDL. Prisma migrates your underlying database automatically.
- Realtime API using GraphQL Subscriptions.
- Advanced API composition using GraphQL Bindings and schema stitching.
- Works with all frontend frameworks like React, Vue.js, Angular (Quickstart Examples).
Watch this 4 min tutorial or follow the steps below to get started with Prisma:
- Install the CLI via NPM:
npm install -g prisma
- Create a new service:
The following command creates all files you need for a new service.
prisma init
- Define your data model:
Edit datamodel.graphql
to define your data model using the GraphQL SDL notation.
type Tweet {
id: ID! @unique
createdAt: DateTime!
text: String!
owner: User!
location: Location!
}
type User {
id: ID! @unique
createdAt: DateTime!
updatedAt: DateTime!
handle: String! @unique
name: String
tweets: [Tweet!]!
}
type Location {
latitude: Float!
longitude: Float!
}
- Deploy your service:
To deploy your service simply run the following command and select one of the hosted development clusters or setup a local Docker-based development environment:
prisma deploy
- Connect to your GraphQL endpoint:
Use the endpoint from the previous step in your frontend (or backend) applications to connect to your GraphQL API.
- Read more in the dedicated quickstarts for your favorite technology
Prisma is a secure API layer that sits in front of your database. Acting as a proxy, Prisma exposes a powerful GraphQL API and manages Rate-Limiting, Authentication, Logging and a host of other features. Because Prisma is a standalone process, it can be scaled independently from your application layer and provide scalable subscriptions infrastructure.
Database connectors provide the link between Prisma and the underlying database.
You can connect the following databases to Prisma already:
- MySQL
- Postgres
More database connectors will follow.
If you are interested to participate in the preview for one of the following connectors, please reach out in our Slack.
We are still collecting use cases and feedback for the API design and feature set of the following connectors:
- MS SQL Connector
- Oracle Connector
- ArangoDB Connector
- Neo4j Connector
- Druid Connector
- Dgraph Connector
- DynamoDB Connector
- Cloud Firestore Connector
- CockroachDB Connector
- Cassandra Connector
- Redis Connector
- AWS Neptune Connector
- CosmosDB Connector
- Influx Connector
Join the discussion or contribute to influence which we'll work on next!
The most important component in Prisma is the GraphQL API:
- Query, mutate & stream data via GraphQL CRUD API
- Define and evolve your data model using GraphQL SDL
Try the online demo: open GraphQL Playground
Prisma has a community of thousands of amazing developers and contributors. Welcome, please join us! 👋
Contributions are welcome and extremely helpful 🙌 Please refer to the contribution guide for more information.
Releases are separated into two channels - the stable and unstable channel.
-
The stable channel is released every two weeks, incrementing the minor version number. Irregular releases in between minor releases can occur and increment the patch version.
-
The unstable channel is released with every commit to master and therefore gives access to features and bug fixes before the stable release. You can find more information about running the Prisma on the unstable channel here.