Hi đều người!. Tiếp tục với series xây dựng forum bằng GraphQL, React, Apollo, Nodejs và Prisma.Bạn đã xem: Prisma là gì

Link cục bộ series các bạn cũng có thể xem sinh hoạt đây

Ở phần trước chúng ta đã khám phá qua về Mutation với Query cơ bản. Phương pháp đọc tài liệu với Query và biện pháp update tài liệu với Mutation thực hiện resolvers.Phần này, họ sẽ cùng nhau đi kết nối với Database và làm việc với Database trải qua Prisma Client (mình sẽ đề cập cụ thể bên dưới)

Prisma là gì và vày sao sử dụng Prisma?


*

Prisma là một Object Relational Mapping (ORMs) được dùng làm xây dựng những máy chủ như GraphQL Server, RESTful APIs, microservice, ...etc.Bạn đã xem: Prisma là gì

Như bản thân đã reviews ở nội dung bài viết đầu tiên của series này. Prisma dễ dàng và đơn giản là 1 layer nằm trong lòng Webserver và Database.Prisma giúp chúng ta giao tiếp cùng với db một cách dễ dãi hơn.

Bạn đang xem: Prisma là gì

Cách truyền thống mà Webserver tiếp xúc với Database là thông qua các câu lệnh SQL Query như SELECT, UPDATE hay DELETEGiờ đây, tiếng vào những công vắt ORMs nói tầm thường và Prisma nói riêng. Chúng tạo thành một tầng abstraction giữa Webserver cùng Database.Điều này hỗ trợ cho lập trình viên tiện lợi trong việc thao tác làm việc với Database. Thay bởi viết đa số câu lệnh SQL khô khan, hoàn toàn có thể sai bất cứ lúc như thế nào thì bạn có thể viết những hàm tương ứng.

Traditional solution:

Select * from Posts where title = "GraphQL API";INSERT INTO Posts VALUES ("Graphql API", "Learning how to lớn Writting GraphQL API", "thuan");ORMs solution (JavaScript implementation)

Cài để Prisma và thao tác với Database

Prisma cho bọn họ 2 chắt lọc để cài đặt Database:

Ở phía trên mình sẽ thực hiện Local Database để sản xuất Database. Các chúng ta có thể sử dụng kiểm tra server. Xem chỉ dẫn tại đây.

Sử dụng kiểm tra Server sẽ tiện lợi hơn đến việc thiết đặt và cấu hình. Nhưng mà mình vẫn ưu tiên sự định hình và vận tốc nên mình sẽ quyết định sử dụng local

*

Prisma init sẽ khởi tạo ra 2 file:

datamodal.prisma: file này đã chứa toàn bộ Schema. Ở phía trên Prisma cho họ một Schema User có sẵn. Ví dụ điển hình mình sẽ địa chỉ thêm 1 Schema nữa đặt tên là Post.

Xem thêm: Có Tác Dụng Tiếng Anh Là Gì, Tác Dụng Tiếng Anh Là Gì: Định Nghĩa, Ví Dụ

type Post id: ID! quality title: String! content: String! author: User! createdAt: DateTime! updatedAt: DateTime!type User { id: ID!

*

Truy cập http://localhost:4466 và thao tác một số câu Query và Mutation:


*

Xem toàn bộ list những users:

query getUsersList users id name thư điện tử Tiếp theo là chế tạo ra 1 Post với và connect cùng với User vừa tạo trải qua id. Execute mutation createPost

mutation createPost createPost( data: title:"Learn GraphQL" content:"Create GraphQL using Prisma" author: connect: id:"cjti9k0lj001z0803x8fkumge" ) id title content author name createdAt updatedAt

*

Nếu họ muốn view cùng edit những dữ liệu trong Database thì hoàn toàn có thể vào Prisma Admin thông qua URL: http://localhost:4466/_admin

Oke. Done. Giờ nếu bọn họ muốn thao tác làm việc với Prisma thông qua code thì sao thất thoát :?

Generate Prisma Client:Paste đoạn code này vào prisma.yml, bên dưới endpoint cùng datamodel

endpoint: http://localhost:4466datamodel: datamodel.prismagenerate: - generator: javascript-client output: ./generated/prisma-client/Run

Building simple Node application

touch index.jsInit package.json file với install prisma-client-lib (thư viện này đã giúp chúng ta sử dụng với Prisma Client vừa mới được generate mặt trên)

npm init -ynpm install --save prisma-client-libOke, let"s write some code

Kết luận

Vậy là tại phần này họ đã khởi tạo Database thành công. Phần tiếp theo chúng ta sẽ thuộc đi xây dựng hầu hết function cơ bản cho Forum.