- vừa được xem lúc

Prisma - Đơn giản hóa công việc và tương tác với cơ sở dữ liệu

0 0 11

Người đăng: Dương Linh

Theo Viblo Asia

Prisma là một ORM (Object-Relational Mapping) tiên tiến dành cho Node.js và TypeScript, cung cấp cách thức dễ dàng và mạnh mẽ để tương tác với cơ sở dữ liệu. Dù bạn đang sử dụng PostgreSQL, MySQL, SQLite, SQL Server hay MongoDB, Prisma sẽ giúp bạn quản lý dữ liệu một cách hiệu quả và an toàn.

1. Tính Năng Nổi Bật của Prisma

  • Phát triển dựa trên schema: Định nghĩa mô hình dữ liệu trong tệp schema.prisma, sau đó Prisma tự động tạo các truy vấn và cấu trúc dữ liệu cần thiết.
  • An toàn kiểu dữ liệu: Tích hợp chặt chẽ với TypeScript, Prisma đảm bảo sự an toàn về kiểu dữ liệu trong toàn bộ ứng dụng.
  • Migration dữ liệu: Công cụ di chuyển (migrations) giúp quản lý các thay đổi trong cơ sở dữ liệu một cách dễ dàng và có tổ chức.
  • Truy vấn tự động: Tự động tạo các truy vấn CRUD (Create, Read, Update, Delete) cho các mô hình dữ liệu.
  • Prisma Studio: Giao diện người dùng trực quan giúp quản lý và tương tác với dữ liệu trong cơ sở dữ liệu.

2. Bắt Đầu với Prisma

  1. Cài đặt Prisma CLI:
npm install @prisma/cli --save-dev

hoặc

yarn add @prisma/cli --dev
  1. Khởi tạo Prisma:
npx prisma init

Lệnh này tạo ra một thư mục prisma với tệp cấu hình schema.prisma.

  1. Định nghĩa model dữ liệu: Trong tệp schema.prisma, định nghĩa các mô hình dữ liệu của bạn. Ví dụ:
model User { id Int @id @default(autoincrement()) name String email String @unique
}
  1. Tạo migration dữ liệu:
npx prisma migrate dev --name init

Lệnh này tạo ra các tệp di chuyển và áp dụng chúng lên cơ sở dữ liệu của bạn.

  1. Tạo Prisma Client:
npx prisma generate

Lệnh này tạo ra Prisma Client, cho phép bạn tương tác với cơ sở dữ liệu trong mã nguồn.

  1. Sử dụng Prisma Client: Trong mã nguồn của bạn, sử dụng Prisma Client để truy vấn cơ sở dữ liệu:
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient(); async function main() { const allUsers = await prisma.user.findMany(); console.log(allUsers);
} main() .catch(e => console.error(e)) .finally(async () => { await prisma.$disconnect(); });

3. Lợi ích của Prisma

  • Năng suất cao hơn: Với các công cụ tự động và giao diện thân thiện, bạn có thể tập trung vào việc phát triển tính năng thay vì quản lý cơ sở dữ liệu.
  • An toàn và đáng tin cậy: Prisma giúp tránh các lỗi do sai sót về kiểu dữ liệu và cấu trúc truy vấn.
  • Tích hợp dễ dàng: Prisma hoạt động tốt với nhiều hệ quản trị cơ sở dữ liệu và tích hợp dễ dàng với các công cụ phát triển khác.

Prisma không chỉ là một ORM thông thường mà còn là một hệ sinh thái hoàn chỉnh giúp bạn quản lý dữ liệu một cách hiệu quả và tin cậy. Để biết thêm thông tin chi tiết và hướng dẫn, hãy truy cập tài liệu Prisma.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Áp dụng kiến trúc 3 Layer Architecture vào project NodeJS

The problem encountered. Các framework nodejs phổ biết như Express cho phép chúng ta dễ dàng tạo ra Resful API xử lí các request từ phía client một cách nhanh chóng và linh hoạt.

0 0 80

- vừa được xem lúc

Tìm hiểu về NestJS (Phần 2)

Trong bài viết trước, mình đã giới thiệu về NestJS và các thành phần cơ bản của framework này cũng như xây dựng demo một api bằng NestJS. Như mình đã giới thiệu, NestJS có một hệ sinh thái hỗ trợ cho chúng ta trong quá trình phát triển mà các framework khác như Express, Fastify,... phải tự build hoặ

0 0 170

- vừa được xem lúc

Xây dựng một REST API Skeleton với Node.js

Node.js đang dần trở nên phổ biến với những ứng dụng dạng microservice hay REST Api bới hiệu năng cực nhanh và tính bất đồng bộ của chúng.

0 0 45

- vừa được xem lúc

Xây dựng Restful Api bằng Nodejs

Mở đầu. Thực ra là không có mở đầu gì đâu mà hay làm ngay bước tiếp theo ! .

0 0 47

- vừa được xem lúc

CORS là gì? CORS với Nodejs

CORS (hay Cross-origin resource sharing) là gì . . Lỗi cors trên trình duyệt:. .

0 0 72

- vừa được xem lúc

[K8S] Phần 15 - Triển khai ứng dụng NodeJS lên K8S

Giới thiệu. Trong các phần trước mình đã giới thiệu về cách dựng một hệ thống Kubernetes Cluster với khá đầy đủ các thành phần cần thiết như:.

0 0 43