
Se você já subiu sua primeira API com NestJS, chegou a hora de dar um próximo passo importante:
👉 conectar sua aplicação a um banco de dados
E aqui entra um dos queridinhos da comunidade Node.js:
✨ Prisma ORM
Imagine o Prisma como o “tradutor oficial” entre seu código TypeScript e o banco de dados.
👉 Ele transforma consultas SQL complexas em código simples, legível e totalmente tipado.
Dentro do seu projeto, execute:
npm install prisma --save-dev
npm install @prisma/client
npx prisma initversion: '3.5'
services:
db:
image: postgres
container_name: postgres_container
volumes:
- postgres:/data/postgres
environment:
POSTGRES_USER: changeuser
POSTGRES_PASSWORD: changepass
POSTGRES_DB: changename
PGDATA: /data/postgres
ports:
- "5432:5432"
restart: unless-stopped
volumes:
postgres:⚡ Prisma suporta PostgreSQL, MySQL, SQLite, MongoDB e outros!
📄 Arquivo: prisma/schema.prisma
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean? @default(false)
author User? @relation(fields: [authorId], references: [id])
authorId Int?
}📂 Estrutura gerada:
prisma/
├── migrations/
│ └── <timestamp>_init/
│ └── migration.sql
└── schema.prismasrc/
├── database/
│ └── prisma.service.tsUserService:async create(data: { name: string; email: string }) {
return this.prisma.user.create({ data });
}
async findAll() {
return this.prisma.user.findMany();
}Com o Prisma, você ganha:
👉 Agora sua API NestJS está pronta para brilhar 🚀
Já está usando Prisma ou ainda está no TypeORM / Sequelize?