Trong phần hướng dẫn nhanh này, bạn sẽ tìm hiểu cách:
- 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 cả Visual Studio Tiện ích mã hoạt động với phiên bản phát hành chính thức.
- Sau đó, chúng tôi sẽ hướng dẫn bạn cách:
- Tạo giản đồ cho ứng dụng email và triển khai cho bản phát hành chính thức.
- Xác định truy vấn và trường hợp đột biến cho giản đồ của bạn.
- Triển khai giản đồ, truy vấn và dữ liệu cuối cùng cho môi trường sản xuất.
Đ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 điều sau.
- Linux, macOS hoặc Windows
- Visual Studio Code
Kết nối với dự án Firebase
- Tạo một dự án Firebase nếu bạn chưa tạo.
- Trong bảng điều khiển Firebase, hãy nhấp vào Thêm dự án, sau đó làm theo hướng dẫn trên màn hình.
Nâng cấp dự án lên gói Blaze. Thao tác này cho phép bạn tạo một Cloud SQL cho thực thể PostgreSQL.
Chuyển đến phần Data Connect của bảng điều khiển Firebase và làm theo quy trình thiết lập sản phẩm.
Chọn một vị trí cho cơ sở dữ liệu CloudSQL cho PostgreSQL.
Ghi lại tên và mã nhận dạng của dự án, dịch vụ và cơ sở dữ liệu để xác nhận sau.
Làm theo quy trình thiết lập còn lại rồi nhấp vào Xong.
Chọn và thiết lập môi trường phát triển
Data Connect hỗ trợ 2 trải nghiệm phát triển để tạo nguyên mẫu:
- Nếu là nhà phát triển Kotlin Android, iOS hoặc web, bạn có thể sử dụng Phát triển mã VS để thiết kế và kiểm thử giản đồ và hoạt động cục bộ trong khi kết nối với Cloud SQL cho phiên bản PostgreSQL.
- Nếu là nhà phát triển web, bạn có thể sử dụng tính năng Phát triển IDX để phát triển trong không gian làm việc IDX bằng cách sử dụng mẫu IDX được định cấu hình sẵn với PostgreSQL, tiện ích VS Code với trình mô phỏng Data Connect và mã khởi động nhanh được thiết lập cho bạn. Bạn có thể tìm thêm thông tin tại trang web Project IDX.
Phần bắt đầu nhanh này tập trung vào quy trình phát triển tiện ích VS Code. Cách tiếp tục:
- Tạo một thư mục mới cho dự án cục bộ của bạn.
- Mở VS Code trong thư mục mới.
Tải tiện ích xuống, được đóng gói dưới dạng gói VSIX, từ Firebase Storage.
Trong VS Code, từ trình đơn Chế độ xem, hãy chọn Tiện ích.
Trên thanh tiêu đề của bảng điều khiển Tiện ích, hãy nhấp vào biểu tượng trình đơn more_horiz, rồi theo dõi Cài đặt từ VSIX....
Bạn có thể cài đặt cơ sở dữ liệu PostgreSQL cục bộ để phát triển cục bộ bằng trình mô phỏng Data Connect. Phần thiết lập này được đề cập ở cuối hướng dẫn nhanh này.
Thiết lập dự án cục bộ
Cài đặt CLI, làm theo các hướng dẫn thông thường. Nếu bạn có npm đã cài đặt, hãy chạy lệnh sau:
npm install -g firebase-tools
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 Firebase VS Code.
Trong giao diện người dùng của tiện ích Firebase:
- Hãy đảm bảo rằng bạn đã đăng nhập.
- Nhấp vào nút Run firebase init (Chạy firebase init).
- Kiểm tra thẻ Terminal (Thiết bị đầu cuối) trong Bảng điều khiển phía dưới Mã VS để tìm lời nhắc.
- Chọn tính năng Data Connect để sử dụng trong thư mục này.
- Khi được nhắc, hãy cung cấp mã dự án, dịch vụ và cơ sở dữ liệu của Data Connect dự án mà bạn đã tạo trước đó trong bảng điều khiển.
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 bao gồm người dùng và email.
Người dùng
Trong Data Connect, các trường GraphQL được liên kết với các cột. Người dùng có uid
, name
và email address
. Data Connect nhận ra một số
loại dữ liệu gốc: String
và Date
.
Sao chép đoạn mã sau hoặc huỷ nhận xét các dòng tương ứng trong tệp.
# File `/dataconnect/schema/schema.gql`
type User @table(key: "uid") {
uid: String!
name: String!
address: String!
}
Theo mặc định, Firebase Data Connect sẽ thêm khoá id
của UUID nếu không có khoá nào
đã cung cấp. Tuy nhiên, trong trường hợp này, bạn muốn uid
của tôi là khoá chính.
mà bạn có thể thực hiện thông qua lệnh @table(key: "uid")
.
Giờ đây, khi đã có người dùng, bạn có thể lập mô hình email. Tại đây, bạn có thể thêm trường (hoặc cột) cho dữ liệu email. Lần này, chúng ta bỏ qua bước thêm khoá chính vì bạn có thể dựa vào Data Connect để quản lý.
# File `/dataconnect/schema/schema.gql`
type Email @table {
subject: String!
sent: Date!
text: String!
from: User!
}
Xin lưu ý rằng trường from
được liên kết với một loại User
.
Data Connect hiểu rằng đây là mối quan hệ giữa Email
và User
, đồng thời sẽ quản lý mối quan hệ này cho bạn.
Triển khai giản đồ cho phiên bản chính thức
Nếu bạn đang sử dụng tiện ích Firebase VS để làm việc với cơ sở dữ liệu chính thức, bạn cần triển khai giản đồ trước khi tiếp tục. Sau khi triển khai giản đồ vào cơ sở dữ liệu chính thức, bạn sẽ có thể xem giản đồ trên bảng điều khiển.
- Bạn có thể sử dụng tiện ích Firebase VS Code để triển khai.
- Trong giao diện người dùng của tiện ích, trong bảng điều khiển Firebase Data Connect, hãy nhấp vào Triển khai.
- Bạn có thể cần phải xem xét các thay đổi đối với giản đồ và phê duyệt nội dung có khả năng phá hoại
sửa đổi. Bạn sẽ được nhắc:
- Xem xét các thay đổi đối với giản đồ bằng cách sử dụng
firebase dataconnect:sql:diff
- Khi bạn hài lòng với các thay đổi, hãy áp dụng các thay đổi đó bằng quy trình được bắt đầu bằng
firebase dataconnect:sql:migrate
.
- Xem xét các thay đổi đối với giản đồ bằng cách sử dụng
Thêm dữ liệu vào bảng
Trong bảng điều khiển Trình soạn thảo mã VS, bạn có thể thấy các nút CodeLens xuất hiện trên
Các loại GraphQL trong /dataconnect/schema/schema.gql
. Vì đã triển khai giản đồ vào môi trường phát hành chính thức, nên bạn có thể sử dụng các nút Thêm dữ liệu và Chạy (Phát hành chính thức) để thêm dữ liệu vào cơ sở dữ liệu ở phần phụ trợ.
Cách thêm bản ghi vào bảng User
và Email
:
- 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ạiUser
.
- Trong tệp
User_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 (Production) (Chạy (Bản chính thức)).
- Lặp lại các bước trước đó để thêm một bản ghi vào bảng
Email
, cung cấpuid
của người dùng trong trườngfromUid
, như được nhắc trong Đột biếnEmail_insert
.
Xác định truy vấn của bạn
Phần thú vị nhất là truy vấn. Là một nhà phát triển, bạn đã quen viết SQL thay vì truy vấn GraphQL, nên thoạt đầu bạn có thể thấy hơi khác. Tuy nhiên, GraphQL ngắn gọn và an toàn về kiểu 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ả email, hãy sử dụng truy vấn như sau.
# File `/dataconnect/connector/queries.gql`
query ListEmails @auth(level: NO_ACCESS) {
emails {
id, subject, text, sent
from {
name
}
}
}
Thực thi truy vấn bằng cách sử dụ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ì Email có trường from
tham chiếu đến
Người dùng, bạn có thể lồng ghép vào trường này và nhận lại thông tin về người dùng.
Triển khai giản đồ và truy vấn vào môi trường sản xuất
Bạn đã thực hiện một bước lặp trong quá trình phát triển. Giờ đây, bạn có thể triển khai giản đồ, dữ liệu và truy vấn đến máy chủ bằng Firebase giao diện người dùng tiện ích mở rộng hoặc CLI Firebase, giống như cách bạn đã làm với giản đồ của mình (triển khai-schema).
Nếu bạn sử dụng tiện ích Firebase VS Code để triển khai, hãy nhấp vào nút Deploy (Triển khai).
Sau khi được triển khai, bạn sẽ có thể xem và chạy các hoạt động của mình trên bảng điều khiển của Google. Dịch vụ Data Connect của bạn sẽ sẵn sàng xử lý các thao tác từ ứng dụng khách. 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 sau khi triển khai lần cuối.
(Không bắt buộc) Cài đặt PostgreSQL cục bộ
Việc cài đặt PostgreSQL cục bộ và tích hợp với trình mô phỏng cho phép bạn tạo nguyên mẫu trong một môi trường phát triển hoàn toàn cục bộ.
Bạn có thể cài đặt một thực thể mới của PostgreSQL hoặc sử dụng một thực thể hiện có.
Cài đặt PostgreSQL
Cài đặt PostgreSQL phiên bản 15.x theo hướng dẫn dành cho nền tảng của bạn.
- macOS. Tải và cài đặt Postgres.app.
- Windows: Sử dụng trình cài đặt EDB trên trang tải xuống PostgreSQL.
- Docker: Kéo và chạy hình ảnh
pgvector/pgvector:pg15
. Hình ảnh này đi kèm với cả PostgreSQL 15.x và hỗ trợ vectơ. - Linux: Bạn nên sử dụng Docker với hình ảnh trước đó, nhưng bạn cũng có thể làm theo hướng dẫn thay thế cho các bản phân phối phổ biến.
Ghi chú đầu ra tên máy chủ, cổng, tên người dùng và mật khẩu và các tham số liên quan trong khi trình tự cài đặt.
Để kết nối với phiên bản PostgreSQL, trình mô phỏng cần:
- Các tham số cấu hình thiết lập này
- Tên cơ sở dữ liệu trong
dataconnect.yaml
và một tên tương ứng cơ sở dữ liệu được khởi tạo trong thực thể cục bộ của bạn.
Sử dụng phiên bản PostgreSQL cục bộ
Bạn có thể sử dụng một thực thể PostgreSQL cục bộ hiện có bằng cách cập nhật Chế độ cài đặt trình mô phỏng Data Connect.
firebase setup:emulators:dataconnect
Khi được nhắc, hãy nhập chuỗi kết nối PostgreSQL theo định dạng sau: postgresql://postgresusername:postgrespassword@localhost:5432/postgresdatabase?sslmode=disable
.
Để biết thêm về chuỗi kết nối, hãy tham khảo tài liệu về PostgreSQL.
Kết nối với thực thể PostgreSQL cục bộ
Sau khi cấu hình này hoàn tất, để kết nối với cơ sở dữ liệu cục bộ của bạn, hãy làm như sau:
- Trong VS Code, trong bảng điều khiển bên trái, hãy nhấp vào biểu tượng Firebase để mở giao diện người dùng của tiện ích Firebase VS Code.
- Nhấp vào nút Kết nối với PostgreSQL cục bộ.