100%
← Quay lại

Prisma

AI bổ sung
ORMDữ liệu

Nó là gì?

Prisma là ORM (Object-Relational Mapping) mã nguồn mở cho Node.js và TypeScript, giúp tương tác với cơ sở dữ liệu quan hệ (PostgreSQL, MySQL, SQLite, SQL Server, MongoDB) thông qua một schema khai báo. Nó tự động sinh ra Prisma Client – một thư viện type-safe để truy vấn dữ liệu, đồng thời cung cấp Prisma Migrate để quản lý migration và Prisma Studio để duyệt dữ liệu trực quan.

Dùng để làm gì?

Dùng để kết nối ứng dụng (đặc biệt là Next.js, Express, NestJS) với cơ sở dữ liệu một cách an toàn về kiểu dữ liệu, giảm boilerplate code so với viết raw SQL. Luồng điển hình: định nghĩa model trong schema.prisma → chạy prisma generate → dùng Prisma Client trong code để CRUD.

Chạy ở đâu?

Server (Node.js runtime)

Nó thường đi với gì?

Next.js, PostgreSQL, MySQL, SQLite, SQL Server, MongoDB, TypeScript, GraphQL (qua Nexus hoặc TypeGraphQL), tRPC.

App của mình khi nào cần?

Khi dự án Node.js/TypeScript cần ORM type-safe, có migration tự động, và muốn tránh viết SQL thủ công. Đặc biệt hữu ích trong Next.js App Router với Server Components và API Routes.

Khi nào không cần?

Khi chỉ dùng NoSQL thuần (trừ MongoDB hỗ trợ giới hạn), hoặc dự án nhỏ chỉ cần vài truy vấn đơn giản có thể dùng raw SQL hoặc thư viện nhẹ hơn như Drizzle ORM. Cũng không cần nếu đã có ORM khác như TypeORM hay Sequelize.

Từ khóa lỗi thường gặp

PrismaClientInitializationError, P2002 (unique constraint violation), P2025 (record not found), P1001 (can't connect to database), P2003 (foreign key constraint), PrismaClientKnownRequestError

Một câu để nhớ

Prisma: Schema → Type-safe Client, không cần viết SQL.