What is Prisma ? How to use it with NextJS?

YasH
3 min readAug 6, 2023

--

Prisma is an open-source ORM (Object-Relational Mapper) that makes working with databases simple. It is intended for modern applications that require great scalability, security, and ease of maintenance.

Prisma has a number of features that make it stand out from other ORMs:

1. Prisma produces type-safe code for your database queries. This reduces errors and makes your code more maintainable.

2. Prisma offers a built-in migration system that makes it simple to change the schema of your database over time. This ensures that your application and database are always compatible.

3. Prisma includes a robust query builder that makes it simple to create complex queries. The query builder is also type-safe, which aids in error prevention.

4. Prisma comes with an admin UI that allows you to view and edit your data in a web browser. This allows you to manage your data without writing any code.

How to use Prisma with Next.js to build a simple blog application?

To follow this tutorial, you will need the following:

  • A basic understanding of Node.js
  • A basic understanding of React
  • A basic understanding of Prisma
  • A database server (such as PostgreSQL or MySQL)

Step 1: Create a new Next.js project

First, we need to create a new Next.js project. We can do this by running the following command:

npx create-next-app prisma-nextjs

This will create a new Next.js project called prisma-nextjs.

Step 2: Install Prisma

Next, we need to install Prisma. We can do this by running the following command:

npm install prisma

Step 3: Create a Prisma schema

Prisma uses a schema to define the structure of your database. We can create a Prisma schema by running the following command:

prisma init

This will create a new file called schema.prisma. This file will contain the definition of our database schema.

Step 4: Connect to the database

In order to use Prisma, we need to connect it to our database. We can do this by editing the schema.prisma file and adding the following line:

datasource db {
provider = "postgresql"
url = "postgresql://localhost:5432/my_database"
}

This line tells Prisma to connect to a PostgreSQL database that is running on localhost port 5432.

Step 5: Create a model

A model is a representation of a table in the database. We can create a model by adding the following code to the schema.prisma file:

model Post {
id Int @id @default(autoincrement())
title String
content String
published Boolean
}

This code creates a model called Post. The Post model has four fields: id, title, content, and published.

Step 6: Generate Prisma client

Prisma provides a client that we can use to interact with the database. We can generate the Prisma client by running the following command:

prisma generate

This will create a new file called generated/prisma.js. This file contains the Prisma client.

Step 7: Use Prisma in Next.js

Now that we have created a Prisma schema and generated the Prisma client, we can use Prisma in Next.js. We can do this by importing the Prisma client into our Next.js project.

import prisma from "generated/prisma";

Once we have imported the Prisma client, we can use it to interact with the database. For example, we can use the Prisma client to fetch all of the posts from the database:

const posts = await prisma.post.findMany();

This code will fetch all of the posts from the database and store them in the posts variable.

--

--

YasH

Full stack Developer (React/Nodejs/NextJs) and a Cinephile guy.