Dalam panduan memulai ini, Anda akan mempelajari cara mem-build Firebase Data Connect di aplikasi secara lokal tanpa menyiapkan instance SQL produksi.
- Tambahkan Firebase Data Connect ke project Firebase Anda.
- Menyiapkan lingkungan pengembangan yang mencakup Visual Studio Ekstensi kode untuk berfungsi dengan instance lokal.
- Kemudian, kami akan menunjukkan cara:
- Membuat skema untuk aplikasi film
- Menentukan kueri dan mutasi yang akan digunakan di aplikasi Anda
- Menguji kueri dan mutasi dengan data sampel terhadap emulator lokal
- Membuat SDK yang diketik dengan kuat dan menggunakannya di aplikasi Anda
- Deploy skema, kueri, dan data akhir Anda ke cloud (Opsional, paket Blaze diperlukan).
Prasyarat
Untuk menggunakan panduan memulai ini, Anda akan memerlukan hal berikut.
- Linux, macOS, atau Windows
- Visual Studio Code
- Instal Node.js menggunakan nvm-windows untuk Windows atau nvm untuk macOS atau Linux.
- Jika Anda belum melakukannya, buat project Firebase di Firebase console.
Menyiapkan lingkungan pengembangan
Anda memerlukan Visual Studio Code untuk mengelola skema dan menentukan kueri yang akan digunakan dalam aplikasi Anda, dan SDK dengan jenis yang kuat akan otomatis dibuat untuk Anda:
- Buat direktori baru untuk project lokal Anda.
- Buka VS Code di direktori baru.
- Instal ekstensi Firebase Data Connect dari Marketplace Kode Visual Studio.
Menyiapkan direktori project
Untuk menyiapkan project lokal, lakukan inisialisasi direktori project Anda. Di panel kiri VS Code, klik ikon Firebase untuk membuka UI ekstensi Data Connect VS Code:
- Klik tombol Sign in with Google.
- Klik tombol Connect a Firebase project dan pilih project yang Anda buat sebelumnya di konsol.
- Klik tombol Run firebase init.
Klik tombol Start emulators.
Membuat skema
Di direktori project Firebase Anda, dalam file /dataconnect/schema/schema.gql
, mulailah menentukan skema GraphQL tentang film.
Film
Di Data Connect, kolom GraphQL dipetakan ke kolom. Film memiliki id
,
title
, imageUrl
, dan genre
. Data Connect mengenali jenis data primitif: String
dan UUID
.
Salin cuplikan berikut atau hapus tanda komentar pada baris yang sesuai dalam file.
# 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
Salin cuplikan berikut atau hapus tanda komentar pada baris yang sesuai dalam file.
# 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
}
Perhatikan bahwa kolom movie
dipetakan ke jenis Movie
.
Data Connect memahami bahwa ini adalah hubungan antara Movie
dan MovieMetadata
, serta akan mengelola hubungan ini untuk Anda.
Pelajari skema Data Connect lebih lanjut dalam dokumentasi
Menambahkan data ke tabel
Di panel editor VS Code, Anda akan melihat tombol CodeLens muncul di atas
jenis GraphQL di /dataconnect/schema/schema.gql
. Anda dapat menggunakan opsi Tambahkan data
dan tombol Run (Local) akan menambahkan data ke database lokal Anda.
Untuk menambahkan kumpulan data ke tabel Movie
dan MovieMetadata
:
- Di
schema.gql
, klik tombol Tambahkan data di atas deklarasi jenisMovie
.
- Dalam file
Movie_insert.gql
yang dihasilkan, lakukan hard code data untuk tiga bidang. - Klik tombol Run (Local).
- Ulangi langkah sebelumnya untuk menambahkan data ke tabel
MovieMetadata
. menyediakanuid
Film Anda di bidangmovie
, seperti yang diminta dalam menghasilkan mutasiMovieMetadata_insert
.
Untuk dengan cepat memverifikasi bahwa data telah ditambahkan:
- Kembali ke
schema.gql
, klik tombol Baca data. - Dalam file
Movie_read.gql
yang dihasilkan, klik tombol Run (Local) untuk mengeksekusi kueri.
Pelajari mutasi Data Connect lebih lanjut dalam dokumentasi
Menentukan kueri
Sekarang bagian yang menyenangkan: mari kita tentukan kueri yang akan Anda perlukan dalam aplikasi. Sebagai pengembang, Anda terbiasa menulis kueri SQL daripada GraphQL {i>query<i}, jadi ini bisa terasa sedikit berbeda pada awalnya. Namun, GraphQL jauh lebih singkat dan aman dari jenis SQL daripada SQL mentah. Selain itu, ekstensi VS Code kami akan memudahkan pengalaman pengembangan.
Mulai edit file /dataconnect/connector/queries.gql
. Jika Anda ingin
mendapatkan semua film, gunakan kueri seperti ini.
# 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
}
}
Jalankan kueri menggunakan tombol CodeLens di dekatnya.
Fitur yang sangat menarik di sini adalah kemampuan untuk menangani
membentuk hubungan seperti grafik. Karena MovieMetadata memiliki kolom movie
yang
mereferensikan film, Anda dapat menyusun bertingkat ke dalam kolom dan mendapatkan informasi tentang
info film kembali. Coba tambahkan jenis yang dihasilkan movieMetadata_on_movie
ke
Kueri ListMovies.
query ListMovies @auth(level: PUBLIC) {
movies {
id
title
imageUrl
genre
movieMetadata_on_movie {
rating
}
}
}
Pelajari kueri Data Connect lebih lanjut dalam dokumentasi
Membuat SDK dan menggunakannya di aplikasi
Di panel sebelah kiri VS Code, klik ikon Firebase untuk membuka UI ekstensi VS Code Data Connect:
- Klik tombol Tambahkan SDK ke aplikasi.
Pada dialog yang muncul, pilih direktori yang berisi kode untuk aplikasi Anda. Data Connect. Kode SDK akan dibuat dan yang disimpan di sana.
Pilih platform aplikasi Anda, lalu perhatikan bahwa kode SDK langsung dibuat di direktori yang Anda pilih.
Pelajari cara menggunakan SDK yang dihasilkan untuk memanggil kueri dan mutasi dari aplikasi klien (web, Android, iOS, Flutter).
Men-deploy skema dan kueri ke produksi
Setelah menyiapkan lokal di aplikasi, sekarang Anda dapat men-deploy skema, data, dan kueri ke cloud. Anda memerlukan paket Blaze untuk menyiapkan instance Cloud SQL.
Buka bagian Data Connect di konsol Firebase dan buat instance Cloud SQL uji coba gratis.
Di Terminal terintegrasi VS Code, jalankan firebase init dataconnect dan pilih Region/Service ID yang baru saja Anda buat di konsol.
Pilih "Y" saat diminta dengan "File dataconnect/dataconnect.yaml sudah ada, Timpa?".
Di UI Data Connect VS Code Extension, klik Deploy to production tombol.
Setelah di-deploy, buka konsol Firebase untuk memverifikasi bahwa skema, operasi, dan data telah diupload ke cloud. Anda harus dapat melihat skema, dan menjalankan operasi Anda di konsol sebagai ya. Instance Cloud SQL untuk PostgreSQL akan diperbarui dengan skema dan data akhir yang dihasilkan dan di-deploy.
Langkah berikutnya
Tinjau project yang di-deploy dan temukan alat lainnya:
- Tambahkan data ke database, periksa dan ubah skema, serta pantau layanan Data Connect di Firebase console.
Akses informasi selengkapnya dalam dokumentasi. Misalnya, karena Anda telah menyelesaikan panduan memulai:
- Pelajari lebih lanjut pengembangan skema, kueri, dan mutasi
- Pelajari cara membuat SDK klien serta memanggil kueri dan mutasi dari kode klien untuk web, Android, dan iOS, serta Flutter.