CLI Firebase adalah alat yang memungkinkan Anda mengelola dan mengonfigurasi produk dan layanan Firebase dari command line.
CLI menyediakan perintah yang dapat digunakan untuk melakukan berbagai tugas Data Connect, seperti membuat project Data Connect baru, menginisialisasi direktori kerja lokal yang sesuai, menyiapkan emulator Data Connect, mencantumkan resource Data Connect, membuat SDK klien, dan lainnya.
Perintah penyiapan
Menambahkan Data Connect ke project Firebase
firebase init
Gunakan firebase init
untuk menyiapkan konfigurasi project lokal baru. Alur kerja ini membuat atau memperbarui file konfigurasi Firebase di direktori Anda.
firebase init
Alur firebase init
akan memandu Anda menyiapkan layanan dan database,
dan secara opsional menginstal emulator Data Connect dan
mengonfigurasi SDK yang dihasilkan.
Penyiapan layanan dan database
Jika Anda memilih dataconnect
untuk penyiapan produk, CLI akan meminta Anda untuk memasukkan nama dan lokasi layanan baru, serta apakah akan menautkan instance Cloud SQL untuk PostgreSQL yang ada atau membuat instance baru.
Jika instance yang ada ditautkan, CLI akan memeriksa setelan yang kompatibel, seperti autentikasi IAM dan alamat IP publik.
Penyiapan Local Emulator Suite
Alur CLI menawarkan untuk menyiapkan emulator, termasuk emulator Data Connect.
Perintah emulator Data Connect
Memulai emulator Data Connect
emulators:start/exec
firebase emulators:start/exec
Gunakan emulator Data Connect versi Local Emulator Suite
dalam mode interaktif dengan start
atau mode non-interaktif yang dijalankan oleh skrip dengan
exec
.
Perintah pengelolaan skema dan konektor
Bagian ini berisi informasi referensi CLI untuk perintah yang Anda gunakan guna mengelola skema dan konektor.
Untuk mengetahui cara menggunakan kasus dan praktik yang direkomendasikan terkait perintah ini, lihat panduan pengelolaan skema dan konektor.
Men-deploy resource skema dan konektor
deploy
firebase deploy
Perintah ini men-deploy resource untuk layanan Data Connect yang diindeks di firebase.json. Migrasi skema dilakukan jika diperlukan.
Perintah | Deskripsi | |
---|---|---|
firebase deploy |
Flag | Deskripsi |
–-only dataconnect |
Deploy skema dan konektor untuk semua layanan Data Connect untuk project ini, tetapi jangan deploy resource produk Firebase lainnya. | |
–-only dataconnect:serviceId |
Men-deploy skema dan konektor untuk layanan Data Connect yang ditentukan. | |
–-only dataconnect:serviceId:connectorId |
Men-deploy satu konektor untuk layanan Data Connect yang ditentukan. | |
–-only dataconnect:serviceId:schema |
Deploy skema untuk layanan Data Connect yang ditentukan. |
Dengan flag –-only
, Anda dapat meneruskan nilai yang dipisahkan koma untuk men-deploy subset resource yang Anda inginkan.
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
Mencantumkan layanan, skema, dan konektor Data Connect
dataconnect:services:list
firebase dataconnect:services:list
Perintah ini mencetak info dasar tentang layanan, skema, dan konektor yang di-deploy di project.
Membandingkan dan memigrasikan skema SQL
dataconnect:sql:diff
firebase dataconnect:sql:diff
Perintah ini membandingkan skema lokal untuk layanan dengan skema saat ini dari database Cloud SQL yang sesuai. Perintah ini akan mencetak perintah yang akan dijalankan untuk memigrasikan database ke skema baru Anda.
Perintah | Deskripsi | |
---|---|---|
firebase dataconnect:sql:diff |
Flag/Parameter | Deskripsi |
serviceId |
Tentukan layanan. Jika dihilangkan, cetak perbedaan untuk semua layanan di firebase.json. |
dataconnect:sql:migrate
firebase dataconnect:sql:migrate
Perintah ini menerapkan perubahan skema lokal ke database Cloud SQL layanan.
Saat Anda menyiapkan project Data Connect lokal baru, dengan file
dataconnect.yaml
default, perilaku perintah dataconect:sql:migrate
adalah meminta Anda untuk melakukan perubahan yang diperlukan, lalu meminta perubahan
opsional, sebelum menjalankan perubahan. Anda dapat mengubah perilaku ini agar selalu menyertakan atau mengabaikan perubahan opsional dengan memperbarui konfigurasi dataconnect.yaml
, seperti yang dibahas dalam memigrasikan skema dalam mode ketat atau kompatibel
Dalam lingkungan interaktif, CLI menampilkan setiap pernyataan SQL migrasi
(dan apakah pernyataan tersebut bersifat destruktif) dan meminta perubahan yang ingin Anda terapkan.
Meneruskan flag --force
setara dengan menerima semua perintah.
Di lingkungan noninteraktif:
- tanpa
--force
, hanya perubahan yang tidak merusak yang dilakukan. Jika ada perubahan destruktif, CLI akan dibatalkan tanpa perubahan apa pun. - dengan
--force
, semua perubahan akan dibuat. Jika perubahan ini mencakup perubahan destruktif, perubahan tersebut akan dicetak dan Anda akan diminta apakah ingin melanjutkan, kecuali jika flag--force
diberikan.
Perintah | Deskripsi | |
---|---|---|
firebase dataconnect:sql:migrate |
Flag | Deskripsi |
serviceId |
Memigrasikan database untuk layanan yang ditentukan. serviceId disimpulkan jika project Anda hanya memiliki satu layanan. | |
–-force |
Menyetujui perintah secara otomatis. |
Seperti flag --only
lainnya, Anda dapat menyediakan beberapa layanan yang dipisahkan dengan
koma.
Memigrasikan skema dalam mode ketat atau kompatibel
Migrasi skema Data Connect memiliki dua mode validasi skema yang berbeda: ketat dan kompatibel. Validasi mode ketat mengharuskan skema database sama persis dengan skema aplikasi sebelum skema aplikasi dapat di-deploy. Validasi mode yang kompatibel mengharuskan skema database kompatibel dengan skema aplikasi, yang berarti elemen dalam database Anda yang tidak digunakan oleh skema aplikasi tidak akan diubah.
Mode validasi skema dan praktik terbaik untuk migrasi skema ini tercakup dalam panduan pengelolaan skema dan konektor
Mode validasi ditentukan menggunakan kunci schemaValidation
dalam file dataconnect.yaml
. Jika schemaValidation
tidak ditentukan, CLI akan menerapkan
perubahan yang kompatibel dan meminta Anda sebelum menjalankan perubahan ketat apa pun. Lihat
referensi konfigurasi.
Perintah SDK
Membuat SDK
dataconnect:sdk:generate
firebase dataconnect:sdk:generate
Perintah ini menghasilkan SDK berjenis yang dideklarasikan di connector.yaml.
Lihat juga panduan untuk menggunakan SDK web, SDK Android, dan SDK iOS.
Perintah | Deskripsi | |
---|---|---|
firebase dataconnect:sdk:generate |
Flag | Deskripsi |
–-watch |
Memastikan proses tetap berjalan dan menghasilkan SDK baru setiap kali Anda menyimpan perubahan pada skema dan file GQL konektor. Jika pembuatan gagal, error akan dicetak ke stdout, kode yang dihasilkan tidak akan diubah, dan perintah akan terus berjalan. |
|
–-only connectorId:platform |
Hanya buat SDK untuk satu platform dan satu konektor. |
Dengan flag –only
, Anda dapat meneruskan nilai yang dipisahkan koma.
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin
Perintah pengelolaan Cloud SQL
Memberikan peran SQL untuk Cloud SQL
dataconnect:sql:grant
firebase dataconnect:sql:grant
Data Connect beroperasi di atas instance PostgreSQL Anda sendiri yang dihosting di Cloud SQL. Dalam beberapa kasus, Anda mungkin ingin mengakses database secara langsung untuk membuat kueri atau memperbarui data yang dihasilkan oleh aplikasi Data Connect. Untuk melakukannya, Anda harus memberikan salah satu peran yang ditentukan di bagian ini kepada pengguna atau akun layanan yang diperlukan.
Untuk mengetahui detail peran yang diberikan, lihat Peran pengguna PostgreSQL.
Peran | Peran SQL | Izin | Penggunaan | Dapat diberikan |
---|---|---|---|---|
pembaca | firebasereader_<db_name>_<schema_name> |
Akses baca saja ke database. Dapat melakukan operasi SELECT pada semua tabel dalam skema yang ditentukan. |
Ideal untuk pengguna atau layanan yang memerlukan pengambilan data, tetapi tidak memerlukan perubahan. | Ya |
penulis | firebasewriter_<db_name>_<schema_name> |
Akses baca dan tulis ke database. Dapat melakukan operasi SELECT , INSERT , UPDATE , DELETE , dan TRUNCATE pada semua tabel dalam skema. |
Cocok untuk pengguna atau layanan yang perlu mengubah data dalam database. | Ya |
owner | firebaseowner_<db_name>_<schema_name> |
Pemilik skema. Memiliki semua hak istimewa di semua tabel dan urutan dalam skema. |
Peran ini, yang dikombinasikan dengan peran roles/cloudsql.client IAM, memberikan izin untuk melakukan migrasi di database. Misalnya, saat memanggil firebase dataconnect:sql:migrate . |
Ya |
superuser | cloudsqlsuperuser |
Peran superuser bawaan dengan hak istimewa penuh di database. Selain izin pemilik, peran ini dapat membuat skema, menghapus skema, menginstal ekstensi, dan melakukan tugas administratif lainnya. Diakses di CLI dengan login sebagai "firebasesuperuser". |
Diperlukan untuk menginstal ekstensi, membuat skema awal, dan memberikan peran SQL yang dapat diberikan kepada pengguna lain. Jika pengguna non-admin memerlukan hak istimewa superuser, migrasi akan gagal dan meminta pengguna untuk meminta administrator database (yaitu, pengguna dengan roles/cloudsql.admin ) untuk menjalankan perintah SQL dengan hak istimewa. |
Diberikan kepada pengguna dengan roles/cloudsql.admin dan tidak dapat diberikan langsung dari CLI Firebase |
Perintah | Deskripsi | |
---|---|---|
firebase dataconnect:sql:grant |
Flag/Parameter | Deskripsi |
-R, --role peran |
Peran SQL yang akan diberikan, salah satu dari: pemilik, penulis, atau pembaca. | |
-E, --email email_address |
Email untuk pengguna atau akun layanan yang akan diberi peran. |
Opsi global
Opsi global berikut berlaku untuk semua perintah:
--json
mengalihkan output CLI ke JSON untuk diuraikan oleh alat lain.--noninteractive
dan--interactive
mengganti, sesuai kebutuhan, deteksi otomatis lingkungan non-TTY.