Lăng kính vs mongodb
Ở phần trước chúng ta đã tìm hiểu về Mutation và Query cơ bản. Cách đọc dữ liệu với 7 và cách cập nhật dữ liệu với 8 sử dụng 9. Phần này, chúng ta sẽ cùng nhau đi kết nối với Cơ sở dữ liệu và thao tác với Cơ sở dữ liệu thông qua Prisma Client (mình sẽ đề cập đến chi tiết bên dưới)Prisma là gì và tại sao sử dụng Prisma?Prisma là một Object Relational Mapping (ORM) được sử dụng để xây dựng các máy chủ như GraphQL Server, RESTful APIs, microservice, …v.v. Như mình đã giới thiệu ở bài viết đầu tiên của loạt bài này. Prisma đơn giản là 1 layer nằm giữa Webserver và Database. Prisma giúp chúng ta giao tiếp với db một cách dễ dàng hơn Cách truyền thống mà Webserver giao tiếp với Cơ sở dữ liệu là thông qua các câu lệnh SQL Query như 0, 1 hay 2 Giờ đây, giờ vào các công cụ ORM nói chung và Prisma nói riêng. Chúng tạo ra một tầng trừu tượng giữa Webserver và Database. Điều này giúp lập trình viên dễ dàng trong thao tác với Cơ sở dữ liệu. Thay vì viết những câu lệnh SQL khô khan, có thể sai bất cứ lúc nào thì chúng ta có thể viết các hàm tương ứnggiải pháp truyền thống
Giải pháp ORM (triển khai JavaScript)
Việc sử dụng ORMs cũng cho chúng ta khả năng tùy biến rất cao. Trong hầu hết trường hợp phức tạp thì ORM đều có thể xử lý được. Chúng ta hãy cùng tìm hiểu nhé Cài đặt Prisma và thao tác với Cơ sở dữ liệuPrisma cho chúng ta 2 lựa chọn để setup Database
Điều hay ho ở đây là chúng ta không cần quan tâm đến việc sử dụng Cơ sở dữ liệu nào (Mysql, PostgresQL, MongoDB, …) Với mỗi loại, Prisma sẽ có cách xử lý mà vẫn đảm bảo tính chặt chẽ Ở đây mình sẽ sử dụng Local Database để tạo Database. Các bạn cũng có thể sử dụng máy chủ demo. Xem hướng dẫn tại đây Sử dụng Máy chủ demo sẽ dễ dàng hơn cho việc cài đặt và cấu hình. Nhưng mình vẫn ưu tiên sự ổn định và tốc độ nên mình sẽ quyết định sử dụng cục bộ. ) Về cơ bản thì việc sử dụng Local Database hay Demo Database đều sẽ trả về một PRISMA_ENDPOINT để chúng ta có thể kết nối với GraphQL Server Mở Terminal, đầu tiên là cài đặt Prisma
Cài đặt Docker. Để sử dụng Prisma cục bộ, chúng ta bắt buộc phải cài đặt Docker. Các bạn có thể tải Docker Community Edition tại đây Tạo Docker Image, tại thư mục gốc
Mình đang sử dụng MySQL, docker image của MySQL, paste đoạn code này vào file 3 1xây dựng hình ảnh 2Khởi tạo Prisma 3Prisma init sẽ khởi động tạo ra 2 tệp
OK giờ có thể triển khai đc rồi. v 9Truy cập 8 và thao tác một số câu 7 và 8KHởi tạo 8 có tên là 2. Ở bên phải 3 đã tạo cho chúng ta toàn bộ tài liệu và lược đồ mà chúng ta vừa tạo. Cùng với đó là các thao tác cơ bản ĐỌC, TẠO, CẬP NHẬT, XÓAXem toàn bộ danh sách người dùng 6Tiếp theo là Tạo 1 6 với và kết nối với 5 vừa tạo thông tin qua 6. Thực hiện đột biến 7 0Nếu chúng ta muốn xem và chỉnh sửa những dữ liệu này trong Cơ sở dữ liệu thì có thể vào Prisma Admin thông qua URL. 8được rồi. Xong. Giờ nếu chúng ta muốn thao tác với Prisma thông qua mã thì sao nhỉ. ? Tạo ứng dụng khách Prisma. Dán mã đoạn này vào 7, bên dưới 10 và 11 1Chạy 2Khi này Prisma sẽ tạo cho chúng ta 1 thư mục 12 chứa tất cả các thao tác dựa trên tệp 13Xây dựng ứng dụng Node đơn giản 3Khởi tạo tệp 14 và cài đặt 15 (thư viện này sẽ giúp chúng tôi sử dụng với Prisma Client vừa mới được tạo bên trên) 4Oke, hãy viết một số mã. D 16 5Chạy ứng dụng Node, 6Và đây là kết quả, chúng ta cũng có thể kiểm tra trong Prisma Admin ( 8)Kết luậnDo đó, tại phần này, chúng tôi đã khởi động Cơ sở dữ liệu thành công. Phần tiếp theo chúng ta sẽ cùng đi xây dựng những chức năng cơ bản cho Diễn đàn |