Trong phần bắt đầu nhanh này, bạn sẽ tìm hiểu cách tạo Firebase Data Connect trong ứng dụng cục bộ mà không cần thiết lập phiên bản SQL chính thức.
- Thêm Firebase Data Connect vào dự án Firebase.
- Thiết lập môi trường phát triển bao gồm tiện ích Visual Studio Code để làm việc với một thực thể cục bộ.
- Sau đó, chúng tôi sẽ hướng dẫn bạn cách:
- Tạo giản đồ cho ứng dụng phim
- Xác định cụm từ tìm kiếm và đột biến sẽ được sử dụng trong ứng dụng
- Kiểm thử truy vấn và đột biến bằng dữ liệu mẫu trên trình mô phỏng cục bộ
- Tạo SDK có kiểu mạnh và sử dụng các SDK đó trong ứng dụng
- Triển khai giản đồ, truy vấn và dữ liệu cuối cùng lên đám mây (Không bắt buộc, cần có gói Blaze).
Điều kiện tiên quyết
Để sử dụng hướng dẫn nhanh này, bạn cần có những thông tin sau.
- Linux, macOS hoặc Windows
- Visual Studio Code
- Cài đặt Node.js bằng nvm-windows cho Windows hoặc nvm cho macOS hoặc Linux.
- Nếu chưa có, hãy tạo một dự án Firebase trong bảng điều khiển Firebase.
Thiết lập môi trường phát triển
Bạn sẽ cần Visual Studio Code để quản lý giản đồ và xác định các truy vấn sẽ được sử dụng trong ứng dụng của bạn. Đồng thời, một SDK có kiểu mạnh sẽ được tạo tự động cho bạn:
- Tạo một thư mục mới cho dự án cục bộ.
- Mở VS Code trong thư mục mới.
- Cài đặt tiện ích Firebase Data Connect từ Visual Studio Code Marketplace.
Thiết lập thư mục dự án
Để thiết lập dự án cục bộ, hãy khởi chạy thư mục dự án. Trong bảng điều khiển bên trái của VS Code, hãy nhấp vào biểu tượng Firebase để mở giao diện người dùng của tiện ích Data Connect VS Code:
- Nhấp vào nút Đăng nhập bằng Google.
- Nhấp vào nút Kết nối dự án Firebase rồi chọn dự án bạn đã tạo trước đó trong bảng điều khiển.
- Nhấp vào nút Run firebase init (Chạy firebase init).
Nhấp vào nút Start emulators (Bắt đầu trình mô phỏng).
Tạo giản đồ
Trong thư mục dự án Firebase, trong tệp /dataconnect/schema/schema.gql
, hãy bắt đầu xác định giản đồ GraphQL về phim.
Phim
Trong Data Connect, các trường GraphQL được liên kết với các cột. Movie có id
, title
, imageUrl
và genre
. Data Connect nhận dạng các loại dữ liệu nguyên gốc: String
và UUID
.
Sao chép đoạn mã sau hoặc bỏ ghi chú các dòng tương ứng trong tệp.
# By default, a UUID id key will be created by default as primary key.
# If you want to specify a primary key, say title, which you can do through
# the @table(key: "title") directive
type Movie @table {
id: UUID! @default(expr: "uuidV4()")
title: String!
imageUrl: String!
genre: String
}
MovieMetadata
Sao chép đoạn mã sau hoặc bỏ ghi chú các dòng tương ứng trong tệp.
# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
# This time, we omit adding a primary key because
# you can rely on Data Connect to manage it.
# @unique indicates a 1-1 relationship
movie: Movie! @unique
# movieId: UUID <- this is created by the above reference
rating: Float
releaseYear: Int
description: String
}
Lưu ý rằng trường movie
được liên kết với một loại Movie
.
Data Connect hiểu rằng đây là mối quan hệ giữa Movie
và MovieMetadata
và sẽ quản lý mối quan hệ này cho bạn.
Tìm hiểu thêm về giản đồ Data Connect trong tài liệu
Thêm dữ liệu vào bảng
Trong bảng điều khiển trình soạn thảo VS Code, bạn sẽ thấy các nút CodeLens xuất hiện trên các loại GraphQL trong /dataconnect/schema/schema.gql
. Bạn có thể sử dụng các nút Add data (Thêm dữ liệu) và Run (Local) (Chạy (Tại máy)) để thêm dữ liệu vào cơ sở dữ liệu cục bộ.
Cách thêm bản ghi vào bảng Movie
và MovieMetadata
:
- Trong
schema.gql
, hãy nhấp vào nút Thêm dữ liệu phía trên phần khai báo loạiMovie
.
- Trong tệp
Movie_insert.gql
được tạo, hãy mã hoá cứng dữ liệu cho ba trường. - Nhấp vào nút Run (Local) (Chạy (Cục bộ)).
- Lặp lại các bước trước đó để thêm một bản ghi vào bảng
MovieMetadata
, cung cấpid
của Phim trong trườngmovieId
, như được nhắc trong đột biếnMovieMetadata_insert
đã tạo.
Cách nhanh chóng xác minh dữ liệu đã được thêm:
- Quay lại
schema.gql
, hãy nhấp vào nút Read data (Đọc dữ liệu) phía trên phần khai báo loạiMovie
. - Trong tệp
Movie_read.gql
thu được, hãy nhấp vào nút Run (Local) (Chạy (Cục bộ)) để thực thi truy vấn.
Tìm hiểu thêm về các đột biến Data Connect trong tài liệu
Xác định truy vấn
Bây giờ, hãy đến phần thú vị: xác định các truy vấn mà bạn cần trong ứng dụng. Là một nhà phát triển, bạn đã quen với việc viết truy vấn SQL thay vì truy vấn GraphQL, vì vậy, ban đầu, bạn có thể cảm thấy hơi khác. Tuy nhiên, GraphQL ngắn gọn và an toàn về loại hơn nhiều so với SQL thô. Tiện ích VS Code của chúng tôi cũng giúp bạn dễ dàng phát triển.
Bắt đầu chỉnh sửa tệp /dataconnect/connector/queries.gql
. Nếu bạn muốn nhận tất cả phim, hãy sử dụng truy vấn như sau.
# File `/dataconnect/connector/queries.gql`
# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
movies {
id
title
imageUrl
genre
}
}
Thực thi truy vấn bằng nút CodeLens ở gần.
Một tính năng thực sự thú vị ở đây là khả năng coi các mối quan hệ của cơ sở dữ liệu như một biểu đồ. Vì MovieMetadata có trường movie
tham chiếu đến một bộ phim, nên bạn có thể lồng vào trường này và lấy lại thông tin về bộ phim. Hãy thử thêm loại movieMetadata_on_movie
đã tạo vào truy vấn ListMovies.
query ListMovies @auth(level: PUBLIC) {
movies {
id
title
imageUrl
genre
movieMetadata_on_movie {
rating
}
}
}
Tìm hiểu thêm về truy vấn Data Connect trong tài liệu
Tạo SDK và sử dụng SDK trong ứng dụng
Trong bảng điều khiển bên trái của VS Code, hãy nhấp vào biểu tượng Firebase để mở giao diện người dùng của tiện ích Data Connect VS Code:
- Nhấp vào nút Thêm SDK vào ứng dụng.
Trong hộp thoại xuất hiện, hãy chọn một thư mục chứa mã cho ứng dụng của bạn. Data Connect. Mã SDK sẽ được tạo và lưu tại đó.
Chọn nền tảng ứng dụng, sau đó lưu ý rằng mã SDK sẽ được tạo ngay trong thư mục mà bạn đã chọn.
Tìm hiểu cách sử dụng SDK đã tạo để gọi các truy vấn và đột biến từ ứng dụng khách (web, Android, iOS, Flutter).
Triển khai giản đồ và truy vấn vào môi trường sản xuất
Sau khi thiết lập cục bộ trên ứng dụng, bạn có thể triển khai giản đồ, dữ liệu và truy vấn lên đám mây. Bạn sẽ cần có gói Blaze để thiết lập phiên bản Cloud SQL.
Chuyển đến phần Data Connect (Kết nối dữ liệu) của bảng điều khiển Firebase và tạo một phiên bản Cloud SQL dùng thử miễn phí.
Trong Terminal (Cổng) tích hợp của VS Code, hãy chạy firebase init dataconnect và chọn Mã nhận dạng khu vực/dịch vụ mà bạn vừa tạo trên bảng điều khiển.
Chọn "Y" khi được nhắc "File dataconnect/dataconnect.yaml already exists, Overwrite?" (Tệp dataconnect/dataconnect.yaml đã tồn tại, Ghi đè?).
Trong giao diện người dùng của Tiện ích Data Connect cho VS Code, hãy nhấp vào nút Deploy to production (Triển khai lên môi trường sản xuất).
Sau khi triển khai, hãy chuyển đến bảng điều khiển Firebase để xác minh giản đồ, thao tác và dữ liệu đã được tải lên đám mây. Bạn cũng có thể xem giản đồ và chạy các thao tác trên bảng điều khiển. Phiên bản Cloud SQL cho PostgreSQL sẽ được cập nhật bằng giản đồ và dữ liệu được tạo đã triển khai cuối cùng.
Các bước tiếp theo
Xem lại dự án đã triển khai và khám phá các công cụ khác:
- Thêm dữ liệu vào cơ sở dữ liệu, kiểm tra và sửa đổi giản đồ cũng như theo dõi dịch vụ Data Connect trong bảng điều khiển Firebase.
Xem thêm thông tin trong tài liệu. Ví dụ: vì bạn đã hoàn tất hướng dẫn nhanh:
- Tìm hiểu thêm về phát triển lược đồ, truy vấn và đột biến
- Tìm hiểu về cách tạo SDK ứng dụng và gọi truy vấn và đột biến từ mã ứng dụng cho web, Android, iOS và Flutter.