DEV Community

Prisma + Postgres

awalias on October 30, 2024

In this tutorial, we'll explore how to set up Prisma + Postgres. We'll use real-world examples involving books and authors. Prerequisites...
Collapse
 
awalias profile image
awalias • • Edited

If anyone needs help regarding Prisma / Postgres you can get support in our discord

Collapse
 
joshenlim profile image
Joshen Lim •

Hopefully this might be helpful - there's a set of handy instructions on your projects' home page if you click the "Connect" button and select the "ORMs" tab
Image description

Collapse
 
supabase_io profile image
Supabase •

Yes! Thanks for sharing @joshenlim

Collapse
 
steve_val profile image
Steve_Val •

The memes in there are crazy lol

Also note for anyone else who's wondering the official Prisma documentation related to this is here: prisma.io/docs/orm/overview/databa...

The important step adding

datasource db {
  provider  = "postgresql"
  url       = env("DATABASE_URL")
  directUrl = env("DIRECT_URL")
}
Enter fullscreen mode Exit fullscreen mode

Very nice.

Collapse
 
swamp_dog profile image
swamp_dog •

I was trying initially without the direct_url but apparently it's required if you need to do migrations.

Collapse
 
supa_community profile image
Supabase Community •

Prisma Postgres is an incredible pairing for a backend. Both tools are used and loved by the Supabase Community.

Collapse
 
encima_49 profile image
Chris • • Edited

thanks for this! If I am using a pooler like Supavisor does that mean I do not use Accelerate or anything, just the Prisma library and Supabase handles the rest?

Collapse
 
tylerfontaine profile image
Tyler Fontaine •

Bingo! You got it

Collapse
 
4l3k51 profile image
Aleksi Immonen •

Excellent guide !

Collapse
 
qianl15 profile image
Qian Li •

Thanks for the starter tutorial -- it's clear and simple. Things can get tricker if you modify the schema and want to actually push to production:

  • prisma migrate dev is only for dev environment. Use npx prisma migrate deploy for production and testing (CI/CD pipelines). Docs
  • Run npx prisma generate to generate new client code whenever you modify the schema as well.

Also, I noticed that Prisma doesn't really support rolling back schema changes. So to revert changes you need to revert your schema file and generate a "new" migration/client to undo the previous change instead.

Collapse
 
4l3k51 profile image
Aleksi Immonen •

Excellent guide!

Collapse
 
davy_c1f0f5e0e5e0 profile image
Dave •

This is great!

Collapse
 
w3b6x9 profile image
Wen Bo Xie •

Excited to use Prisma and Supabase together! This makes it so easy to get started and distinguish between which database connection strings to use and why.

Collapse
 
jonmeyers_io profile image
Jon •

What an incredibly powerful stack! Prisma and Postgres powered by Supabase! πŸš€

Collapse
 
codexam profile image
Subham •

Interesting guide, but honestly, why go through all this setup with Prisma + Postgres when you could use Drizzle ORM? Drizzle is so much cleaner and more TypeScript friendly without all the heavy migration overhead.

Collapse
 
timnpalmer profile image
timnpalmer •

Super valuable guide, thanks

Collapse
 
sreyas_udayavarman_496239 profile image
Sreyas Udayavarman •

This is great! Easy to setup.