SlideShare a Scribd company logo
Luca Del Puppo - Senior Software Engineer
Prisma the ORM that node was waiting for
Luca Del Puppo
Senior Software Engineer
Javascript Enthusiastic
Typescript Lover
“Youtuber”
“Writer”
Love sport: running, hiking
Love animals
Agenda
. What is it?
. CLI
. Data Modeling
. Generation
. Client
. Migration
. Deploy
. Conclusion
What is it?
Prisma is an open source next-generation ORM.
(Node eco-system)
Prisma Client
Auto-generated and type-safe query builder for Node.js & TypeScript
Prisma Migrate
Migration system
Prisma Studio
GUI to view and edit data in your database
Control
Productivity
Orm
Plain SQL
SQL Builder
Prisma
Healty Constraint
Providers
PostgreSQL
MySQL
SQLite
Microsoft SQL Server
MongoDB
CockroachDB
Hey Bro!
Could you talk about
interesting stu ?
Image by on
catalyststu Freepik
CLI
Install CLI
Create Project
Prisma File
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
1
2
3
4
5
6
7
8
CLI commands
init
generate
migrate
Data Modelling
Schema
One le (schema.prisma)
Data sources
Generators
Data model de nition
Syntax - PSL (Prisma Schema Language)
N.B. Multiple Files is not supported yet
Generator & DataSource
generator client {
provider = "prisma-client-js"
}
1
2
3
4
datasource db {
5
provider = "postgresql"
6
url = env("DATABASE_URL")
7
}
8
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
generator client {
1
provider = "prisma-client-js"
2
}
3
4
5
6
7
8
Models
model Ingredient {
1
id Int @id @default(autoincrement())
2
name String
3
createdAt DateTime @default(now())
4
updatedAt DateTime @updatedAt
5
pizzaIngredients PizzaIngredient[]
6
7
@@map("INGREDIENTS")
8
}
9
id Int @id @default(autoincrement())
model Ingredient {
1
2
name String
3
createdAt DateTime @default(now())
4
updatedAt DateTime @updatedAt
5
pizzaIngredients PizzaIngredient[]
6
7
@@map("INGREDIENTS")
8
}
9
createdAt DateTime @default(now())
model Ingredient {
1
id Int @id @default(autoincrement())
2
name String
3
4
updatedAt DateTime @updatedAt
5
pizzaIngredients PizzaIngredient[]
6
7
@@map("INGREDIENTS")
8
}
9
updatedAt DateTime @updatedAt
model Ingredient {
1
id Int @id @default(autoincrement())
2
name String
3
createdAt DateTime @default(now())
4
5
pizzaIngredients PizzaIngredient[]
6
7
@@map("INGREDIENTS")
8
}
9
@@map("INGREDIENTS")
model Ingredient {
1
id Int @id @default(autoincrement())
2
name String
3
createdAt DateTime @default(now())
4
updatedAt DateTime @updatedAt
5
pizzaIngredients PizzaIngredient[]
6
7
8
}
9
model Ingredient {
id Int @id @default(autoincrement())
name String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
pizzaIngredients PizzaIngredient[]
@@map("INGREDIENTS")
}
1
2
3
4
5
6
7
8
9
Relations
ingredientId Int
ingredient Ingredient @relation(fields: [ingredientId], references: [id])
model PizzaIngredient {
1
2
pizzaId Int
3
4
pizza Pizza @relation(fields: [pizzaId], references: [id])
5
6
@@id([pizzaId, ingredientId])
7
8
@@map("PIZZA_INGREDIENTS")
9
}
10
pizzaId Int
pizza Pizza @relation(fields: [pizzaId], references: [id])
model PizzaIngredient {
1
ingredientId Int
2
3
ingredient Ingredient @relation(fields: [ingredientId], references: [id])
4
5
6
@@id([pizzaId, ingredientId])
7
8
@@map("PIZZA_INGREDIENTS")
9
}
10
@@id([pizzaId, ingredientId])
model PizzaIngredient {
1
ingredientId Int
2
pizzaId Int
3
ingredient Ingredient @relation(fields: [ingredientId], references: [id])
4
pizza Pizza @relation(fields: [pizzaId], references: [id])
5
6
7
8
@@map("PIZZA_INGREDIENTS")
9
}
10
model PizzaIngredient {
ingredientId Int
pizzaId Int
ingredient Ingredient @relation(fields: [ingredientId], references: [id])
pizza Pizza @relation(fields: [pizzaId], references: [id])
@@id([pizzaId, ingredientId])
@@map("PIZZA_INGREDIENTS")
}
1
2
3
4
5
6
7
8
9
10
Generation
Generation
Prisma the ORM that node was waiting for
What does it generate?
Models
Convert Models to Typescript Types
Client
Query Models (type safe)
Constraint to build where clause
Constraint to build select
Constraint to build insert/update/delete with relation
Generated Type
export type Ingredient = {
id: number
name: string
createdAt: Date
updatedAt: Date
}
1
2
3
4
5
6
Client
Installation
What does it generate?
const prisma = new PrismaClient();
1
await prisma.$connect();
2
3
const pizza = await prisma.pizza.findUnique({
4
where: {
5
id: id,
6
},
7
include: {
8
pizzaIngredients: {
9
include: {
10
ingredient: true,
11
},
12
},
13
},
14
});
15
await prisma.$connect();
const prisma = new PrismaClient();
1
2
3
const pizza = await prisma.pizza.findUnique({
4
where: {
5
id: id,
6
},
7
include: {
8
pizzaIngredients: {
9
include: {
10
ingredient: true,
11
},
12
},
13
},
14
});
15
const pizza = await prisma.pizza.findUnique({
where: {
id: id,
},
include: {
pizzaIngredients: {
include: {
ingredient: true,
},
},
},
});
const prisma = new PrismaClient();
1
await prisma.$connect();
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const prisma = new PrismaClient();
await prisma.$connect();
const pizza = await prisma.pizza.findUnique({
where: {
id: id,
},
include: {
pizzaIngredients: {
include: {
ingredient: true,
},
},
},
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Image by on
catalyststu Freepik
Crud
SQLPrisma Single Multiple
Insert create createMany
Update update updateMany
Delete delete deleteMany
Select ndUnique/
ndFirst
ndMany
Insert/
Update
upsert
Image by on
catalyststu Freepik
Aggregation
Aggregate
Count
GroupBy
One for each model
Migration
Image by on
catalyststu Freepik
Prisma Schema Prisma CLI Database
1. update
2. prisma migrate dev
3. read schema
4. database schema
5. generate migration
6. update database
Migration ow
Image by on
catalyststu Freepik
Prisma Schema
Prisma CLI Database
2. prisma db pull
Introspection ow
1. Change database schema (SQL)
3. read schema
4. database schema
5. Update
Limitations
MongoDb is not supported (use prisma db push)
Switch DB Provider is not supported
Seeding
Prisma exposes us a command for seeding the db
It runs on
prisma migrate dev
prisma migrate reset
manually
It can be written in typescript, go, sql…
--skip-seed allows skipping
Deploy
N.B. Use a CI/CD ow for your deployment
Demo
Image by on
catalyststu Freepik
Conclusion
Cons
Newby
Don’t manage multiple provider concurrency
Splitting schema not implemented out-of-the-box (prisma-
aurora)
Pros
Wonderful developer experience
Type safe queries
Migrations
Custom queries
Active Community
Awesome documentation
Core team active in Github and Slack
Slides
Image by on
catalyststu Freepik
Prisma Series
Image by on
catalyststu Freepik
We are hiring
Image by on
catalyststu Freepik
Luca Del Puppo
@puppo92
Luca Del Puppo
Puppo_92
@puppo

More Related Content

PDF
NestJS
ODP
Introduction to threejs
PDF
Nestjs MasterClass Slides
PPTX
Express js
PPTX
Systematic Migration of Monolith to Microservices
PDF
What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...
PDF
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
PDF
はじめてのMongoDB
NestJS
Introduction to threejs
Nestjs MasterClass Slides
Express js
Systematic Migration of Monolith to Microservices
What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
はじめてのMongoDB

What's hot (20)

PPTX
Struts introduction
PPTX
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
PDF
Java Design Patterns Tutorial | Edureka
PPTX
Introduction to Spring Boot
PPT
Jdbc ppt
PPTX
Angular introduction students
PDF
An Introduction to ReactJS
PDF
Hibernate Presentation
PDF
NodeJS for Beginner
PDF
CORBA - Introduction and Details
PPTX
Java 8 Lambda and Streams
PDF
An introduction to Vue.js
PPTX
PPT
Core java concepts
PDF
RivieraJUG - MySQL Indexes and Histograms
PPT
KEY
Object Relational Mapping in PHP
PPT
Angular 8
PDF
ORM: Object-relational mapping
Struts introduction
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
Java Design Patterns Tutorial | Edureka
Introduction to Spring Boot
Jdbc ppt
Angular introduction students
An Introduction to ReactJS
Hibernate Presentation
NodeJS for Beginner
CORBA - Introduction and Details
Java 8 Lambda and Streams
An introduction to Vue.js
Core java concepts
RivieraJUG - MySQL Indexes and Histograms
Object Relational Mapping in PHP
Angular 8
ORM: Object-relational mapping
Ad

Similar to Prisma the ORM that node was waiting for (20)

PPTX
SPKonferenz 2017 - Introducing SDKs for Microsoft Graph
PPTX
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
PPTX
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
PPTX
APIs, APIs Everywhere!
PPTX
SharePoint Saturday Chicago - Everything your need to know about the Microsof...
PDF
Making Things Work Together
PPTX
SharePoint Conference 2018 - APIs, APIs everywhere!
PDF
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...
PPTX
SharePoint Conference 2018 - Build an intelligent application by connecting i...
PPTX
Implementation of GUI Framework part3
PPTX
ql.io at NodePDX
PPTX
MongoDB.local Atlanta: Introduction to Serverless MongoDB
PPTX
Silverlight 5 whats new overview
KEY
SharePoint 2010 Client Object Model
PDF
Frontend APIs powering fast paced product iterations
ODP
Soap Toolkit Dcphp
PPTX
Apache Pinot Meetup Sept02, 2020
PPTX
Evolving your Data Access with MongoDB Stitch - Drew Di Palma
PPTX
Microsoft Graph: Connect to essential data every app needs
PPTX
Microsoft Graph: Connect to essential data every app needs
SPKonferenz 2017 - Introducing SDKs for Microsoft Graph
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
APIs, APIs Everywhere!
SharePoint Saturday Chicago - Everything your need to know about the Microsof...
Making Things Work Together
SharePoint Conference 2018 - APIs, APIs everywhere!
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...
SharePoint Conference 2018 - Build an intelligent application by connecting i...
Implementation of GUI Framework part3
ql.io at NodePDX
MongoDB.local Atlanta: Introduction to Serverless MongoDB
Silverlight 5 whats new overview
SharePoint 2010 Client Object Model
Frontend APIs powering fast paced product iterations
Soap Toolkit Dcphp
Apache Pinot Meetup Sept02, 2020
Evolving your Data Access with MongoDB Stitch - Drew Di Palma
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
Ad

More from Commit University (20)

PDF
Accessibilità ed equità digitale: un impegno, non una scelta
PDF
GitHub Copilot:vediamo chi comanda - Commit University.pdf
PDF
Contract Driven Development - Branch 2024.pdf
PPTX
Cybersecurity & AI: Illusioni e Speranze
PDF
Migliorare la Developer Experience in un mondo Cloud Native
PPTX
Scopri come sfruttare la potenza della Hybrid RAG
PDF
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
PDF
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
PPTX
Alla scoperta dei Vector Database e dei RAG
PDF
Nell’iperspazio con Rocket: il Framework Web di Rust!
PDF
Crea il tuo assistente AI con lo Stregatto (open source python framework)
PDF
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
PDF
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
PDF
Slide-10years.pdf
PDF
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
PDF
Vue.js slots.pdf
PPTX
Commit - Qwik il framework che ti stupirà.pptx
PPTX
Sviluppare da zero una Angular Web App per la PA
PDF
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
PDF
Decision-making for Software Development Teams - Commit University
Accessibilità ed equità digitale: un impegno, non una scelta
GitHub Copilot:vediamo chi comanda - Commit University.pdf
Contract Driven Development - Branch 2024.pdf
Cybersecurity & AI: Illusioni e Speranze
Migliorare la Developer Experience in un mondo Cloud Native
Scopri come sfruttare la potenza della Hybrid RAG
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Alla scoperta dei Vector Database e dei RAG
Nell’iperspazio con Rocket: il Framework Web di Rust!
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Slide-10years.pdf
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Vue.js slots.pdf
Commit - Qwik il framework che ti stupirà.pptx
Sviluppare da zero una Angular Web App per la PA
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Decision-making for Software Development Teams - Commit University

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Approach and Philosophy of On baking technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Machine learning based COVID-19 study performance prediction
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
Unlocking AI with Model Context Protocol (MCP)
Approach and Philosophy of On baking technology
Empathic Computing: Creating Shared Understanding
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Spectral efficient network and resource selection model in 5G networks
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Monthly Chronicles - July 2025
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
MYSQL Presentation for SQL database connectivity
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine learning based COVID-19 study performance prediction
Chapter 3 Spatial Domain Image Processing.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Prisma the ORM that node was waiting for

  • 1. Luca Del Puppo - Senior Software Engineer Prisma the ORM that node was waiting for
  • 2. Luca Del Puppo Senior Software Engineer Javascript Enthusiastic Typescript Lover “Youtuber” “Writer” Love sport: running, hiking Love animals
  • 3. Agenda . What is it? . CLI . Data Modeling . Generation . Client . Migration . Deploy . Conclusion
  • 5. Prisma is an open source next-generation ORM. (Node eco-system)
  • 6. Prisma Client Auto-generated and type-safe query builder for Node.js & TypeScript
  • 8. Prisma Studio GUI to view and edit data in your database
  • 11. Hey Bro! Could you talk about interesting stu ? Image by on catalyststu Freepik
  • 12. CLI
  • 15. Prisma File generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } 1 2 3 4 5 6 7 8
  • 18. Schema One le (schema.prisma) Data sources Generators Data model de nition Syntax - PSL (Prisma Schema Language) N.B. Multiple Files is not supported yet
  • 19. Generator & DataSource generator client { provider = "prisma-client-js" } 1 2 3 4 datasource db { 5 provider = "postgresql" 6 url = env("DATABASE_URL") 7 } 8 datasource db { provider = "postgresql" url = env("DATABASE_URL") } generator client { 1 provider = "prisma-client-js" 2 } 3 4 5 6 7 8
  • 20. Models model Ingredient { 1 id Int @id @default(autoincrement()) 2 name String 3 createdAt DateTime @default(now()) 4 updatedAt DateTime @updatedAt 5 pizzaIngredients PizzaIngredient[] 6 7 @@map("INGREDIENTS") 8 } 9 id Int @id @default(autoincrement()) model Ingredient { 1 2 name String 3 createdAt DateTime @default(now()) 4 updatedAt DateTime @updatedAt 5 pizzaIngredients PizzaIngredient[] 6 7 @@map("INGREDIENTS") 8 } 9 createdAt DateTime @default(now()) model Ingredient { 1 id Int @id @default(autoincrement()) 2 name String 3 4 updatedAt DateTime @updatedAt 5 pizzaIngredients PizzaIngredient[] 6 7 @@map("INGREDIENTS") 8 } 9 updatedAt DateTime @updatedAt model Ingredient { 1 id Int @id @default(autoincrement()) 2 name String 3 createdAt DateTime @default(now()) 4 5 pizzaIngredients PizzaIngredient[] 6 7 @@map("INGREDIENTS") 8 } 9 @@map("INGREDIENTS") model Ingredient { 1 id Int @id @default(autoincrement()) 2 name String 3 createdAt DateTime @default(now()) 4 updatedAt DateTime @updatedAt 5 pizzaIngredients PizzaIngredient[] 6 7 8 } 9 model Ingredient { id Int @id @default(autoincrement()) name String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt pizzaIngredients PizzaIngredient[] @@map("INGREDIENTS") } 1 2 3 4 5 6 7 8 9
  • 21. Relations ingredientId Int ingredient Ingredient @relation(fields: [ingredientId], references: [id]) model PizzaIngredient { 1 2 pizzaId Int 3 4 pizza Pizza @relation(fields: [pizzaId], references: [id]) 5 6 @@id([pizzaId, ingredientId]) 7 8 @@map("PIZZA_INGREDIENTS") 9 } 10 pizzaId Int pizza Pizza @relation(fields: [pizzaId], references: [id]) model PizzaIngredient { 1 ingredientId Int 2 3 ingredient Ingredient @relation(fields: [ingredientId], references: [id]) 4 5 6 @@id([pizzaId, ingredientId]) 7 8 @@map("PIZZA_INGREDIENTS") 9 } 10 @@id([pizzaId, ingredientId]) model PizzaIngredient { 1 ingredientId Int 2 pizzaId Int 3 ingredient Ingredient @relation(fields: [ingredientId], references: [id]) 4 pizza Pizza @relation(fields: [pizzaId], references: [id]) 5 6 7 8 @@map("PIZZA_INGREDIENTS") 9 } 10 model PizzaIngredient { ingredientId Int pizzaId Int ingredient Ingredient @relation(fields: [ingredientId], references: [id]) pizza Pizza @relation(fields: [pizzaId], references: [id]) @@id([pizzaId, ingredientId]) @@map("PIZZA_INGREDIENTS") } 1 2 3 4 5 6 7 8 9 10
  • 25. What does it generate? Models Convert Models to Typescript Types Client Query Models (type safe) Constraint to build where clause Constraint to build select Constraint to build insert/update/delete with relation
  • 26. Generated Type export type Ingredient = { id: number name: string createdAt: Date updatedAt: Date } 1 2 3 4 5 6
  • 29. What does it generate? const prisma = new PrismaClient(); 1 await prisma.$connect(); 2 3 const pizza = await prisma.pizza.findUnique({ 4 where: { 5 id: id, 6 }, 7 include: { 8 pizzaIngredients: { 9 include: { 10 ingredient: true, 11 }, 12 }, 13 }, 14 }); 15 await prisma.$connect(); const prisma = new PrismaClient(); 1 2 3 const pizza = await prisma.pizza.findUnique({ 4 where: { 5 id: id, 6 }, 7 include: { 8 pizzaIngredients: { 9 include: { 10 ingredient: true, 11 }, 12 }, 13 }, 14 }); 15 const pizza = await prisma.pizza.findUnique({ where: { id: id, }, include: { pizzaIngredients: { include: { ingredient: true, }, }, }, }); const prisma = new PrismaClient(); 1 await prisma.$connect(); 2 3 4 5 6 7 8 9 10 11 12 13 14 15 const prisma = new PrismaClient(); await prisma.$connect(); const pizza = await prisma.pizza.findUnique({ where: { id: id, }, include: { pizzaIngredients: { include: { ingredient: true, }, }, }, }); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 30. Image by on catalyststu Freepik Crud SQLPrisma Single Multiple Insert create createMany Update update updateMany Delete delete deleteMany Select ndUnique/ ndFirst ndMany Insert/ Update upsert
  • 31. Image by on catalyststu Freepik Aggregation Aggregate Count GroupBy
  • 32. One for each model
  • 34. Image by on catalyststu Freepik Prisma Schema Prisma CLI Database 1. update 2. prisma migrate dev 3. read schema 4. database schema 5. generate migration 6. update database Migration ow
  • 35. Image by on catalyststu Freepik Prisma Schema Prisma CLI Database 2. prisma db pull Introspection ow 1. Change database schema (SQL) 3. read schema 4. database schema 5. Update
  • 36. Limitations MongoDb is not supported (use prisma db push) Switch DB Provider is not supported
  • 37. Seeding Prisma exposes us a command for seeding the db It runs on prisma migrate dev prisma migrate reset manually It can be written in typescript, go, sql… --skip-seed allows skipping
  • 39. N.B. Use a CI/CD ow for your deployment
  • 42. Cons Newby Don’t manage multiple provider concurrency Splitting schema not implemented out-of-the-box (prisma- aurora)
  • 43. Pros Wonderful developer experience Type safe queries Migrations Custom queries Active Community Awesome documentation Core team active in Github and Slack
  • 45. Prisma Series Image by on catalyststu Freepik
  • 46. We are hiring Image by on catalyststu Freepik
  • 47. Luca Del Puppo @puppo92 Luca Del Puppo Puppo_92 @puppo